VPN-ను హోస్ట్పై లేదా VM లోపల నడపాలా? నిర్ణయ మార్గదర్శిని
టన్నెల్ యజమాని ఏది ఏది కవర్ చేస్తుందో నిర్ణయిస్తాడు. హోస్ట్ లేదా అతిథిలో స్థానాన్ని ఎంచుకోండి, ఆపై అతిథి లోపల మార్గం, DNS మరియు నిష్క్రమణ తనిఖీలతో ధృవీకరించండి.
అతిథి లోపల టన్నెల్ నిర్మించడం మరియు దాన్ని హోస్ట్పై నిర్మించడం రెండూ బ్రౌజర్ నివేదించే చిరునామాను మారుస్తాయి, పోలిక అక్కడే ముగుస్తుంది. అతిథి యాజమాన్యంలోని టన్నెల్ దాని కీలు, దాని డిఫాల్ట్ మార్గం మరియు దాని పరిష్కర్తను అతిథి కర్నెల్ లోపల ఉంచుతుంది, హోస్ట్ గూఢీకృత ప్యాకెట్లను ఒక దూర చిరునామాకు పంపుతుంది. హోస్ట్ యాజమాన్యంలోని టన్నెల్ దాని అద్దం ప్రతిబింబం: హోస్ట్ క్లయింట్ సెషన్ను పట్టుకొని మార్గాలు, విధానాన్ని అమలు చేస్తుంది, అతిథి బయటకు వచ్చేది అప్పు తీసుకుంటుంది. తప్పు యజమానిని ఎంచుకుంటే తర్వాతి ప్రతి లక్షణం మిమ్మల్ని తప్పు యంత్రానికి పంపుతుంది. రెండు ఆదేశాలు ఈ ప్రశ్నను సుమారు ఒక నిమిషంలో పరిష్కరిస్తాయి, ఈ మార్గదర్శినిలో మిగిలినది సమాధానంతో ఏమి చేయాలి అనేది.
క్లయింట్ను తాకే ముందు యజమానిని నిర్ణయించండి
నియమం గూఢీకృత పాఠ్యం ఎక్కడ ఉత్పత్తి అవుతుంది అనే దాని గురించి, ఏ యంత్రం VPN చిహ్నాన్ని చూపిస్తుంది అనే దాని గురించి కాదు. అతిథి దాన్ని ఉత్పత్తి చేస్తే, అతిథికి VPN సర్వర్కు పనిచేసే మార్గం అవసరం, హోస్ట్ నుండి మరేదీ అవసరం లేదు. హోస్ట్ దాన్ని ఉత్పత్తి చేస్తే, హోస్ట్ క్లయింట్ స్థానిక ట్రాఫిక్పై విధించే ఏ విధానాన్నైనా తట్టుకొని అతిథి యొక్క హోస్ట్-మార్గం నిలబడాలి.
సాధారణంగా మూడు ప్రశ్నలు మీ కోసం స్థానాన్ని ఎంచుకుంటాయి. అతిథి ట్రాఫిక్ హోస్ట్పై ఉన్న కార్పొరేట్ క్లయింట్ను దాటాలా? అయితే టన్నెల్ అతిథి లోపల ఉంది. అనేక అతిథులకు ఒకే ఆధారం మరియు ఒకే నిష్క్రమణ చిరునామా అవసరమా? అయితే అది హోస్ట్పై ఉంది, ఫార్వార్డింగ్ ఉద్దేశపూర్వకంగా సెట్ చేయబడింది. అతిథి ట్రాఫిక్ హోస్ట్ VPN నుండి పూర్తిగా బయట ఉండాలా? అయితే అతిథిలోని టన్నెల్ మాత్రమే దాన్ని నిర్మాణం ద్వారానే ఇస్తుంది.
సమాధానాన్ని VM పేరు పక్కన ఒక వరుసలో రాయండి: guest-owned లేదా host-owned. ఆరు యంత్రాల ప్రయోగశాలలో ఆ గమనిక క్రింది ఏ దశ కంటే ఎక్కువ సమయాన్ని ఆదా చేస్తుంది, ఎందుకంటే మీరు లాగిన్ అయిన యంత్రంలో ఎప్పుడూ లేని టన్నెల్ను పరిశోధించకుండా అది ఆపుతుంది.
WSL1 మరియు WSL2 వ్యతిరేక సందర్భాలు
WSL1 వర్చువల్ యంత్రం కాదు, కాబట్టి స్థాన ప్రశ్న చాలావరకు ఆవిరైపోతుంది. దాని Linux బైనరీలు అనువాద పొర ద్వారా Windows నెట్వర్క్ స్టాక్కు వ్యతిరేకంగా నడుస్తాయి, Linux VPN క్లయింట్కు కాన్ఫిగర్ చేయడానికి స్వతంత్ర ఇంటర్ఫేస్లు లేవు. పనిచేసే ఏర్పాటు Windows వైపు టన్నెల్, పంపిణీ ఏదీ యాజమాన్యం లేకుండా ఫలితాన్ని ఉపయోగిస్తుంది.
WSL2 దీనికి వ్యతిరేకం. ఇది Hyper-V వర్చువల్ స్విచ్ వెనుక తేలికైన సహాయక VM లో నిజమైన కర్నెల్ నడుపుతుంది, దాని చిరునామా స్థలం హోస్ట్ వైపు అడాప్టర్ ద్వారా NAT అవుతుంది. అందువల్ల పంపిణీ లోపలి Linux క్లయింట్ భౌతిక Linux పెట్టెలో లాగా ప్రవర్తిస్తుంది: tun0 లేదా wg0 సృష్టించి, తన సొంత మార్గాలను ఇన్స్టాల్ చేసి, పనిచేస్తుంది. వైఫల్యం హోస్ట్ వైపు నివసిస్తుంది. Windows VPN క్లయింట్ స్థానిక నెట్వర్క్లలో ట్రాఫిక్ను నిరోధించే విధానంతో కనెక్ట్ అయినప్పుడు, WSL2 సబ్నెట్ను విశ్వసనీయం కాని స్థానిక నెట్వర్క్గా పరిగణించి NAT మార్గాన్ని కత్తిరిస్తుంది. అప్పుడు పంపిణీ DNS మరియు బయటి ప్రాప్యతను కోల్పోతుంది, దాని సొంత టన్నెల్ ఇంకా ఆరోగ్యంగా ఉండగానే: wg show కరచాలనాన్ని నివేదిస్తుంది, ip route సరిగ్గా కనిపిస్తుంది, curl వేలాడుతుంది.
ఏ సవరణను ఉపయోగించవచ్చు అనేది Windows బిల్డ్పై ఆధారపడి ఉంటుంది. పాతది WSL సబ్నెట్ కోసం హోస్ట్ క్లయింట్లోని మినహాయింపు, క్లయింట్ యొక్క స్థానిక-నెట్వర్క్ లేదా విభజిత-టన్నెల్ సెట్టింగ్ల క్రింద జోడించబడుతుంది. కొత్తది, దీన్ని మద్దతిచ్చే Windows 11 బిల్డ్లలో, అద్దం నెట్వర్కింగ్: %UserProfile%\.wslconfig యొక్క [wsl2] విభాగంలో networkingMode=mirrored ఉంచండి, wsl --shutdown నడపండి, పంపిణీ ప్రైవేట్ NAT సబ్నెట్కు బదులు హోస్ట్ ఇంటర్ఫేస్లను పంచుకుంటుంది. అద్దం మోడ్ localhost మరియు లోపలికి వచ్చే పోర్టుల ప్రవర్తనను కూడా మారుస్తుంది, కాబట్టి దాన్ని టోగుల్ కాదు, మైగ్రేషన్గా పరిగణించండి.
NAT, వంతెన మరియు హోస్ట్ ఏమి చూడగలదు
NAT కింద అతిథి టన్నెల్ ప్యాకెట్లు VPN సర్వర్ యొక్క పబ్లిక్ చిరునామాకు చిరునామా పొంది గూఢీకృత UDP లేదా TCP గా హోస్ట్ అడాప్టర్ ద్వారా బయటకు వెళ్తాయి. హోస్ట్ ఒక ప్రవాహాన్ని మరియు దాని బైట్ లెక్కను చూస్తుంది, లోపలి గమ్యస్థానాల గురించి ఏమీ ఉండదు. వంతెన అడాప్టర్ కింద అతిథికి భౌతిక LAN లో తన సొంత 2వ పొర గుర్తింపు ఉంటుంది, తన సొంత DHCP లీజ్ తీసుకుంటుంది, MAC ఆధారిత ఏ విధానానికైనా రెండవ పరికరంగా కనిపిస్తుంది. ఏ మోడ్ కూడా హోస్ట్ను టన్నెల్ పేలోడ్ చదవనివ్వదు; వంతెన అతిథి చుట్టూ ఉన్న నెట్వర్క్కు చాలా ఎక్కువ కనిపిస్తుంది.
ఐసోలేషన్కు కూడా కనిష్ఠ హద్దు ఉంది. అతిథి తన మెమరీని కలిగిన యంత్రం నుండి దాక్కోలేదు, హోస్ట్ను నియంత్రించే ఎవరైనా అతిథి RAM నుండి కీలను చదవగలరు. అతిథిలోని టన్నెల్ మీకు ఇచ్చేది రూటింగ్ సరిహద్దు మరియు మాల్వేర్ సరిహద్దు, ల్యాప్టాప్ పట్టుకుని ఉన్న వ్యక్తి నుండి రక్షణ కాదు. పత్రీకరించిన అడాప్టర్ మోడ్లు ఎంచుకునే సమయంలో తెరిచి ఉంచదగినవి, ఎందుకంటే మోడ్ హోస్ట్ చూసేది మరియు LAN చూసేది రెండింటినీ మారుస్తుంది.
మార్గదర్శిని: ఉంచండి, కాన్ఫిగర్ చేయండి, నిరూపించండి
ఈ నాలుగు తనిఖీలను క్రమంగా కొత్త అతిథి షెల్లో నడపండి, మీరు రాసిన యజమానితో సరిపోలని మొదటి తనిఖీ వద్ద ఆగండి.
ip route get 1.1.1.1tun0లేదాwg0తిరిగి ఇస్తే అతిథి-యాజమాన్యం, ప్రైవేట్ తదుపరి హాప్తోeth0ఇస్తే హోస్ట్-యాజమాన్యం.resolvectl query example.com, లేదా అతిథి పరిష్కర్త సేవను నడపని చోట/etc/resolv.confచదవండి. ట్రాఫిక్ మోసుకెళ్లి DNS మోసుకెళ్లని టన్నెల్ అత్యంత సాధారణ సగం-కాన్ఫిగర్ చేసిన స్థితి.- నిష్క్రమణలను పోల్చండి: అతిథిలో
curl -4 -s https://ifconfig.me, హోస్ట్పైcurl.exe -4 -s https://ifconfig.me. వేర్వేరు చిరునామాలు అంటే అతిథి టన్నెల్ యజమాని, VPN లోని హోస్ట్తో పాటు ఇంటి ISP చూపించే అతిథి అనేది ఏదీ వారసత్వంగా రాని సందర్భం. - రెండింటినీ
-6తో పునరావృతం చేయండి. v4 మాత్రమే టన్నెల్ v6 ను లీక్ చేస్తుంది, క్లయింట్ దాన్ని నిరోధించకపోతే లేదా రూట్ చేయకపోతే, చాలా క్లయింట్లు డిఫాల్ట్గా v6 ను భౌతిక ఇంటర్ఫేస్పై వదిలేస్తాయి.
అనేక అతిథులు ఒక టన్నెల్ పంచుకునే హోస్ట్-గేట్వే రూపకల్పనలో హోస్ట్ ఫార్వార్డ్ చేసి అనువదించాలి. Linux హోస్ట్పై అవి మూడు ముక్కలు, వాటిలో ఏదైనా లేకపోతే అతిథి నిశ్శబ్దంగా తన సాధారణ మార్గానికి తిరిగి వెళ్తుంది:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i virbr0 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o virbr0 -m state --state RELATED,ESTABLISHED -j ACCEPT
WireGuard వైపు హోస్ట్ పీర్ యొక్క AllowedIPs అతిథుల సబ్నెట్ను కలిగి ఉండాలి, ఉదాహరణకు 192.168.122.0/24, లేకపోతే తిరిగి వచ్చే ప్యాకెట్లు ఎప్పటికీ చేరవు, సెటప్ ఫైర్వాల్ సమస్యలా కనిపిస్తుంది. Windows హోస్ట్ Internet Connection Sharing లేదా Hyper-V స్విచ్పై NAT నియమం ద్వారా అదే ఫలితాన్ని పొందుతుంది, దానికి కూడా అదే తిరిగి-మార్గ తనిఖీ అవసరం.
రూపకల్పన ఇంకా తెరిచి ఉన్నప్పుడు, ఈ పట్టిక అత్యంత సాధారణ ఏర్పాట్లను కవర్ చేస్తుంది:
| Situation | Owner | Check first |
|---|---|---|
| One VM, host also on a corporate VPN | Guest | Does the host client block local networks? |
| Six lab VMs, one exit address | Host plus forwarding | ip_forward, NAT rule, server AllowedIPs |
| Malware or research VM | Guest, NAT | Snapshot age and resolver state |
| Bridged VM on an office LAN | Guest | DHCP lease and port security |
రెండు టన్నెల్లు, ఇద్దరు అతిథులు, మరియు వారి మధ్య ఘర్షణలు
ఒకే సమయంలో రెండు నిష్క్రమణలు అవసరమైనప్పుడు నిలబడే నమూనా ప్రతి అతిథికి ఒక టన్నెల్. ప్రతి VM తన డిఫాల్ట్ మార్గాన్ని మరియు పరిష్కర్తను ఉంచుకుంటుంది, హోస్ట్ సాధారణ నెట్వర్క్లో ఉంటుంది, రెండు టన్నెల్లు ఒకే రూటింగ్ పట్టిక కోసం ఎప్పుడూ గొడవ పడవు. ఇద్దరు అతిథులను వంతెనతో కలపడం వారి మార్గాలను కలపదు: వర్చువల్ నెట్వర్క్ మార్గాన్ని ఇస్తుంది, ఈ స్థానిక ట్రాఫిక్ టన్నెల్ను దాటవేయవచ్చు అని ప్రతి క్లయింట్కు ఇంకా చెప్పాలి.
హోస్ట్ టన్నెల్ మరియు అతిథి టన్నెల్ కలిసి నడపడం చట్టబద్ధం, ఉద్దేశపూర్వక గూడు కట్టడం కొన్నిసార్లు మీకు కావాల్సిందే—అతిథి తన సొంత టన్నెల్ ద్వారా బయటకు వెళ్తుంది, ఆ టన్నెల్ హోస్ట్ టన్నెల్ ద్వారా బయటకు వెళ్తుంది. దీన్ని అంతరాయంగా మార్చేది ఏ ముగింపు బిందువుకు ఏ పొర ద్వారా చేరాలో ఎవరూ రాయకపోవడమే. గమ్యం మరియు యజమాని యొక్క రెండు నిలువు జాబితా ఉంచుకోండి, మార్గ ఘర్షణ మధ్యాహ్నం మొత్తం వెతుకుడుకు బదులు ఒక వెతుకుడు అవుతుంది.
ధృవీకరించండి, ఆపై పునరుద్ధరణను యజమాని వద్దే ఉంచండి
అతిథి లోపలి నుండి పరీక్షించండి కొత్త అప్లికేషన్ ప్రాసెస్తో: ట్రాఫిక్, పేరు పరిష్కారం, రెండు చిరునామా కుటుంబాలు, టన్నెల్ పడిపోయినప్పుడు ఏమి జరుగుతుంది. హోస్ట్ యొక్క VPN చిహ్నం అతిథి కవరేజ్ గురించి ఏమీ చెప్పదు, ఈ మొత్తం రంగంలో అదే అత్యంత సాధారణ తప్పుడు ధృవీకరణ.
పునరుద్ధరణ కూడా యజమానిదే. అతిథి-యాజమాన్య టన్నెల్ అతిథి సొంత క్లయింట్ మరియు అతను రాసిన మార్గాల ద్వారా పునరుద్ధరించబడుతుంది. హోస్ట్-యాజమాన్య రూపకల్పన హోస్ట్ యొక్క బూట్ క్రమం ద్వారా పునరుద్ధరించబడుతుంది, ఫార్వార్డింగ్ నియమాలు unit లేదా స్టార్టప్ పని మళ్లీ వర్తింపజేయకపోతే రీబూట్ను దాటవు. పునరుద్ధరించిన స్నాప్షాట్ ఒక డిప్లాయ్మెంట్, రద్దు కాదు, ఎందుకంటే అది డిస్క్తో పాటు పాత ఆధారాలు మరియు పాత మార్గాలను తిరిగి తెస్తుంది. పని పూర్తయిందని చెప్పే ముందు, యజమాని ఇంకా మీరు రాసిన వరుసతో సరిపోలుతున్నారా, DNS మరియు రెండు చిరునామా కుటుంబాలు అతిథి లోపల పరిష్కారమవుతున్నాయా, చనిపోయిన టన్నెల్ నల్ల రంధ్రానికి బదులు ఉపయోగించదగిన నెట్వర్క్ను వదిలిస్తుందా, రీబూట్ లేదా స్నాప్షాట్ పునరుద్ధరణ అదే స్థితిని పునరుత్పత్తి చేస్తుందా అని నిర్ధారించుకోండి.