WireGuard మొబైల్ డేటాలో పనిచేస్తుంది, కానీ అదే Wi-Fiలో పనిచేయదు
LAN లోపలి నుండి రౌటర్ పబ్లిక్ చిరునామాకు వెళ్లే అభ్యర్థన మొబైల్ డేటా నుండి వచ్చే అభ్యర్థన కంటే వేరే మార్గాన్ని తీసుకుంటుంది. మొదట బయట పరీక్షించి, తర్వాత స్థానిక మార్గాన్ని ఎంచుకోండి.
మొబైల్ డేటాలో టన్నెల్ పైకి వస్తుంది, కానీ ఇంట్లో అదే ప్రొఫైల్, అదే పీర్ కీ మరియు మధ్యలో ఎలాంటి కాన్ఫిగరేషన్ మార్పు లేకుండా అది కనెక్ట్ అవుతోంది అనే స్థితిలో కూర్చుంటుంది. తేడా ప్రయాణంలో ఉంది: LAN లోపలి నుండి రౌటర్ పబ్లిక్ చిరునామాకు వెళ్లే అభ్యర్థన ఇంటర్నెట్ నుండి వచ్చే అభ్యర్థనతో సమానమైన ప్రయాణం కాదు. చాలా ఇంటి గేట్వేలు తిరిగి వచ్చే మార్గాన్ని అమలు చేయవు, లేదా కొన్ని ప్రోటోకాల్లకు మాత్రమే అమలు చేస్తాయి. దీనివల్ల కీ గురించి ఏమీ మారకపోయినా లక్షణం పగిలిన కీలా కనిపిస్తుంది. కీ, పోర్ట్ ఫార్వర్డ్ లేదా క్లయింట్ ప్రొఫైల్ను తాకే ముందు ఏ మార్గం విఫలమైందో నిర్ణయించండి.
ఒకే చిరునామా, రెండు వేర్వేరు మార్గాలు
బయటి నుండి ఒక ప్యాకెట్ రౌటర్ పబ్లిక్ చిరునామాకు చేరుతుంది, పోర్ట్-ఫార్వర్డ్ నియమం దాన్ని అంతర్గత హోస్ట్లోని WireGuard శ్రోతకు అప్పగిస్తుంది. లోపలి నుండి క్లయింట్ అదే పబ్లిక్ చిరునామాను డయల్ చేస్తుంది, కాబట్టి ప్యాకెట్ క్లయింట్ నుండి బయలుదేరి రౌటర్కు చేరి మళ్లీ LAN వైపు తిప్పబడాలి. ఆ తిరోగమన మలుపు వద్దే రెండు మార్గాలు వేరవుతాయి, ఎందుకంటే ఒకే ఇంటర్ఫేస్ నుండి బయటకు వెళ్లి మళ్లీ అదే ఇంటర్ఫేస్లోకి ప్రవేశించే ఫ్లోను రౌటర్ అనువదించాలి. చాలా అమలులు అనువదించకుండా దాన్ని పడేస్తాయి, తర్వాత క్లయింట్ ఎప్పుడూ పంపని హ్యాండ్షేక్ కోసం ఎదురు చూస్తుంది.
ఈ ప్రవర్తనను సాధారణంగా NAT లూప్బ్యాక్ లేదా హెయిర్పిన్నింగ్ అంటారు, అది WireGuard ది కాదు, రౌటర్ లక్షణం; RFC 4787 గేట్వే దాన్ని మద్దతు ఇవ్వగల లేదా ఇవ్వని అనువాద సందర్భాలను వివరిస్తుంది. WireGuard స్వయంగా మార్గం గురించి ఎలాంటి అభిప్రాయం లేదు, ఎందుకంటే అది తన ఇంటర్ఫేస్కు చేరే ప్యాకెట్లను మాత్రమే చూస్తుంది. రౌటర్ ఫ్లోను పడేసినప్పుడు డీమన్కు ఏమీ అందదు, క్లయింట్ హ్యాండ్షేక్ టైమ్అవుట్ నివేదిస్తుంది, సర్వర్ లాగ్ ఖాళీగా ఉంటుంది. కాబట్టి ఖాళీ లాగ్ ప్యాకెట్ ఎక్కడ ఆగిందో తెలిపే సూచన, సర్వర్ డౌన్ అని రుజువు కాదు. మళ్లీ ఇన్స్టాల్ చేయడంతో ఏమీ మారకపోవడానికి కారణం కూడా ఇదే.
వ్యతిరేక దిశ కూడా ముఖ్యం: LAN చిరునామా నుండి హ్యాండ్షేక్ ప్రయత్నాన్ని చూపించే సర్వర్ లాగ్ ప్యాకెట్ వచ్చిందని, మార్గం సరిగ్గా ఉందని రుజువు చేస్తుంది, ఇది దర్యాప్తును కీలు మరియు అనుమతించిన చిరునామాల వైపు మళ్లిస్తుంది. మీరు చూడాలని ఆశించిన దాని కోసం కాదు, లాగ్ రుజువు చేసే దాని కోసం చదవండి.
ఏదైనా మార్చే ముందు దాన్ని తిరిగి సృష్టించండి
అదే పరికరం మరియు అదే ప్రొఫైల్తో అనుమతించిన బాహ్య నెట్వర్క్ నుండి పరీక్షించి, తర్వాత ఏమీ మార్చకుండా LAN లోపల అదే పరీక్షను పునరావృతం చేయండి. బయట పూర్తయిన హ్యాండ్షేక్ మరియు లోపల పరికరాన్ని వదిలి వెళ్లని క్లయింట్ ఊహించడం బదులు ఆ స్థితిని తిరిగి సృష్టిస్తాయి. రెండు ప్రయత్నాలూ ఒకే ప్రొఫైల్ వాడాలి, లేకపోతే పోలిక ఏమీ రుజువు చేయదు.
తర్వాత ఈ పరికరానికి ఎండ్పాయింట్ పేరు ఏ చిరునామాకు రిజాల్వ్ అవుతుందో చూడండి. ఈ మూడు ఆదేశాలు క్లయింట్ నిజంగా ఏ చిరునామాను డయల్ చేసిందో కూడా చూపిస్తాయి:
wg show wg0 endpoints
dig +short vpn.example.net A
resolvectl query vpn.example.netమొదటి ఆదేశం ఇంటర్ఫేస్ ఇప్పుడు ఏ ఎండ్పాయింట్ వాడుతోందో తెలియజేస్తుంది, మిగిలిన రెండు ఈ మెషీన్లో పేరు ఏ చిరునామాకు రిజాల్వ్ అవుతుందో చూపిస్తాయి. సర్వర్తో అదే నెట్వర్క్లో కూర్చుని పబ్లిక్ చిరునామాను డయల్ చేసే క్లయింట్ హెయిర్పిన్ మార్గాన్ని వాడుతోంది. LAN చిరునామాను డయల్ చేసే క్లయింట్ అలా చేయదు, అక్కడి వైఫల్యం మరో దర్యాప్తుకు చెందుతుంది. ఈ భేదమే తదుపరి భాగం ఇక్కడ వర్తిస్తుందా లేదా అని నిర్ణయిస్తుంది.
దగ్గరి సర్వర్ను చేరుకోవడానికి మద్దతు ఉన్న మార్గాలు
అత్యంత శుభ్రమైన ఏర్పాటు స్ప్లిట్-హొరైజన్ సమాధానం: పబ్లిక్ పేరు ఇంటర్నెట్ కోసం పబ్లిక్ చిరునామాకు, లోపలి క్లయింట్ల కోసం సర్వర్ LAN చిరునామాకు రిజాల్వ్ అవుతుంది. ప్రొఫైల్ ఒకే ఎండ్పాయింట్ పేరు ఉంచుకుంటుంది, రిజాల్వర్ మార్గాన్ని ఎంచుకుంటుంది. దీనికి అంతర్గత DNS సమాధానంపై నియంత్రణ కావాలి, దాన్ని ఇంటి రౌటర్ సాధారణంగా ఇస్తుంది, సంస్థ ఉద్దేశపూర్వకంగా ఏర్పాటు చేసుకోవచ్చు. ఆ నియంత్రణ లేకపోతే మిగిలే ఎంపికలు రౌటర్ లక్షణం లేదా రెండో ప్రొఫైల్.
రౌటర్ లక్షణం ప్రతిబింబం: గేట్వే లోపలి నుండి పబ్లిక్కు వెళ్లే ఫ్లోను అనువదించి మళ్లీ లోపలికి పంపుతుంది. ఇది పనిచేసే చోట క్లయింట్ మార్పు అవసరం లేదు, పనిచేయని చోట ఏ క్లయింట్ సెట్టింగ్ రక్షించదు. రౌటర్ లక్షణాల జాబితా చదవడం బదులు అంతర్గత ప్రయత్నం సమయంలో సర్వర్ లాగ్ చూసి దీన్ని పరీక్షించండి.
ప్రొఫైల్ను ప్రైవేట్ చిరునామాకు మార్చడం నిర్ధారణ, రూపకల్పన కాదు. సర్వర్ LANలో సమాధానం ఇస్తుందని అది రుజువు చేస్తుంది, ల్యాప్టాప్ ఇంటి నుండి బయటకు వెళ్లిన క్షణమే అదే ప్రొఫైల్ విరిగిపోతుంది.
| Approach | What it depends on | Where it fails |
|---|---|---|
| Split-horizon name | Control of the internal DNS answer | Clients that resolve through a server outside the zone |
| Router reflection | Gateway support for hairpin translation | Routers that drop the flow silently |
| Private address in the profile | Nothing beyond the LAN | Every network except the one at home |
ఇంటి నుండి దూరంగా కూడా ప్రొఫైల్ను ఉపయోగించగలిగా ఉంచండి
ఏ మార్గం ఎంచుకున్నా గుర్తింపు తనిఖీని తాకవద్దు. ఎండ్పాయింట్ చిరునామా పీర్ గుర్తింపు కాదు, చిరునామా మారడం యాదృచ్ఛికంగా సమాధానం ఇచ్చే సంబంధం లేని పబ్లిక్ కీని అంగీకరించడానికి ఎప్పుడూ సమర్థన కాదు. WireGuard కీతోనే ధృవీకరిస్తుంది, కాబట్టి తప్పు హోస్ట్ హ్యాండ్షేక్ను విఫలం చేస్తుంది, ఊహించని దానికి ప్రవేశం ఇవ్వదు.
పబ్లిక్ చిరునామా కదిలితే పేరును ఉపయోగకరంగా ఉంచేది డైనమిక్ DNS, మార్పు ఎంత త్వరగా అమలవుతుందో క్లయింట్ రిఫ్రెష్ ప్రవర్తన నిర్ణయిస్తుంది. చిరునామా మారిన తర్వాత దీన్ని బయటి నుండి పరీక్షించండి, ఎందుకంటే LAN సందర్భం దాన్ని ధృవీకరించలేదు. రికార్డు ఆయుష్షు దాటిన తర్వాత కూడా పాత సమాధానాన్ని కాషెలో ఉంచే రిజాల్వర్ గురించి జాగ్రత్తగా ఉండండి. మునుపటి చిరునామానే ఇంకా సూచించే పేరు ఆగిపోయిన సర్వర్లాగే కనిపిస్తుంది.
ప్రొఫైల్ ఏ పేరు వాడుతుంది, సరిహద్దు రెండు వైపులా అది ఏ చిరునామాకు రిజాల్వ్ అవుతుందో రాసుకోండి. ఎవరూ నమోదు చేయని రౌటర్ లక్షణంపై ఆధారపడి ఉన్న ప్రొఫైల్ తదుపరి ఫర్మ్వేర్ నవీకరణ కోసం ఎదురు చూస్తున్న మద్దతు కాల్. అదే గమనిక తదుపరి వ్యక్తికి అంతర్గత వైఫల్యం తెలిసిన హెయిర్పిన్ సందర్భమా లేక కొత్తదా అని చెబుతుంది.