WireGuard పూర్తి సొరంగం: AllowedIPs 0.0.0.0/0 సరిపోదు
0.0.0.0/0 మరియు ::/0 జోడి ఏమి మోసుకెళ్తుందో మాత్రమే ఎంచుకుంటాయి. క్లయింట్ నిర్వాహకుడు, గేట్వే ఫార్వార్డింగ్, DNS మరియు వైఫల్య విధానం ఇంకా కాన్ఫిగర్ చేయాలి.
జోడి AllowedIPs-లో 0.0.0.0/0, ::/0 ఉంచడం అందరూ గుర్తుంచుకునే అడుగు, మరియు అది జోడి ఏ ట్రాఫిక్ మోసుకెళ్లగలదో మాత్రమే నిర్ణయిస్తుంది. ఈ ప్రిఫిక్స్లు ఎలాంటి మార్గాన్ని సృష్టించవు, ఆవలి వైపు ఏమీ ఫార్వార్డ్ చేయవు, మరియు ప్రతి అనువర్తనం యొక్క రిజాల్వర్ను ఉన్న చోటే వదిలేస్తాయి. పూర్తి సొరంగం నిజంగా పూర్తిగా ఉండాలంటే నాలుగు వేర్వేరు విషయాలు ఒకే సమయంలో నిజం కావాలి, మరియు తర్వాతి తనిఖీ మునుపటి తనిఖీని కాపాడలేకపోతుంది కాబట్టి వాటిని క్రింది క్రమంలో తనిఖీ చేయడం ఉత్తమం. క్రింది ప్రతి తనిఖీ యంత్రం నుండి చదవగలిగే వాస్తవం, వర్తించబడిందని మీరు ఆశించే సెట్టింగ్ కాదు.
జోడి ప్రిఫిక్స్ ఏమి ఎంచుకుంటుంది, ఏమి ఎంచుకోదు
AllowedIPs ఒకేసారి ఎంపికకర్త మరియు అనుమతి. ఇది స్థానిక వైపుకు ఏ గమ్యాలను ఈ జోడికి పంపవచ్చో చెబుతుంది, మరియు స్వీకరించే వైపుకు ఈ జోడి ఏ మూల చిరునామాలను ప్రదర్శించగలదో చెబుతుంది. అదే మొత్తం పని. ఆ వివరణలో ఏదీ హోస్ట్పై మార్గాన్ని సృష్టించదు, దూరపు వైపు ఫార్వార్డింగ్ను ప్రారంభించదు, పేరు పరిష్కారాన్ని తాకదు.
అందుకే ఒక కాన్ఫిగరేషన్ పూర్తిగా కనిపించి విభజిత సొరంగంలా ప్రవర్తించవచ్చు. ప్రిఫిక్స్ జోడి అన్నింటినీ అంగీకరిస్తుందని చెబుతుంది; హోస్ట్ యొక్క మార్గ పట్టిక అక్కడికి నిజంగా ఏమి చేరుతుందో నిర్ణయిస్తుంది, గేట్వే ఏదైనా బయటకు వెళ్తుందా లేదా నిర్ణయిస్తుంది. ఆ మూడు నిర్ణయాలలో ఏదీ జోడి విభాగంలో నివసించదు.
క్లయింట్ను మార్గీకరించడం, జోడి జాబితా మాత్రమే కాదు
ఉదాహరణకు wg-quick వంటి నిర్వాహకులు హోస్ట్ యొక్క మార్గ పట్టికను మీ తరపున ప్రోగ్రామ్ చేస్తారు, అందుకే రెండు ఒకేలాంటి కాన్ఫిగరేషన్ ఫైళ్లు ఇంటర్ఫేస్ ఎలా పైకి వచ్చిందనే దానిపై ఆధారపడి భిన్నంగా ప్రవర్తిస్తాయి. కనీస ప్రొఫైల్ ఒకేసారి చదవడానికి సరిపడా చిన్నది:
[Interface]
Address = 10.8.0.2/32
DNS = 10.8.0.1
[Peer]
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = vpn.example.net:51820
పనిని రెండు వివరాలు మోస్తాయి. Address ఫీల్డ్ క్లయింట్ తనదిగా భావించే సబ్నెట్ కాదు, ఒకే హోస్ట్ ప్రిఫిక్స్, మరియు డిఫాల్ట్ AllowedIPsను నిజమైన డిఫాల్ట్ మార్గంగా మార్చేది నిర్వాహకుడే. అదే ఫైల్ను ip link మరియు wg setconf తో పైకి తీసుకురండి, ఏ మార్గం కనిపించదు, అది పాడైన సొరంగంలా కనిపిస్తుంది కానీ నిజానికి మార్గీకరణ దశను దాటవేసిన ఆరోగ్యకరమైన సొరంగం. wg-quick చేతిపుస్తకం మార్గీకరణను మరియు Table ప్రవర్తనను నమోదు చేస్తుంది, దాన్ని ఆ నిర్వాహకులు జోడిస్తారు.
ఫైల్ కాదు, ఫలితాన్ని చదవండి: ip route get 1.1.1.1 సొరంగం ఇంటర్ఫేస్ను పేర్కొనాలి, మరియు wg show కదులుతున్న బదిలీ కౌంటర్తో ఇటీవలి హ్యాండ్షేక్ను నివేదించాలి. మార్గం లేని హ్యాండ్షేక్ అంటే నిర్వాహకుడు ఎప్పుడూ నడవలేదు, మరియు ప్రొఫైల్ను మళ్లీ సవరించడం దాన్ని సరిచేయదు. వినియోగదారు ఎలా ప్రారంభిస్తారో అలాగే ఇంటర్ఫేస్ను ప్రారంభించండి, లేకపోతే పరీక్ష అమలు కాకుండా మీ షెల్ను కొలుస్తుంది.
ఎండ్పాయింట్ను సొరంగం వెలుపల ఉంచడం
పూర్తి సొరంగం ప్రతి గమ్యాన్ని పట్టుకుంటుంది, ఉనికి కోసం మాట్లాడాల్సిన గమ్యం కూడా. నిర్వాహకులు అసలు గేట్వే ద్వారా ఎండ్పాయింట్కు హోస్ట్ మార్గాన్ని జోడించడం ద్వారా దాన్ని నిర్వహిస్తారు, అందుకే సరైన కాన్ఫిగరేషన్లో దాదాపు ఎల్లప్పుడూ ఒక ఉద్దేశపూర్వక మినహాయింపు ఉంటుంది. కాన్ఫిగరేషన్లో సగం నిర్వాహకుడితో మరియు మిగిలిన సగం చేతితో వర్తింపజేయడం ఈ మినహాయింపు పోయే సాధారణ మార్గం.
ఎండ్పాయింట్ అనేక చిరునామాలకు, లేదా మీరు మోసుకెళ్లని కుటుంబానికి పరిష్కారమయ్యే హోస్ట్ పేరు అయితే, మినహాయింపు దారుణంగా పాతబడుతుంది మరియు సాధారణంగా కనిపించిన పునర్కనెక్షన్ తర్వాత సొరంగం విఫలమవచ్చు. ఎండ్పాయింట్ను మీరు నియంత్రించే చిరునామాకు పిన్ చేయండి, లేదా నిర్వాహకుడు దాన్ని తిరిగి మూల్యాంకనం చేస్తాడని నిర్ధారించండి, మరియు ప్రతి నెట్వర్క్ మార్పు తర్వాత హోస్ట్ మార్గాన్ని మళ్లీ చదవండి.
అదే యాంత్రికత పూర్తి సొరంగం మరియు క్యాప్టివ్ పోర్టల్ ఎందుకు పోరాడుతాయో వివరిస్తుంది. మీ సొరంగం ఇప్పుడు పట్టుకునే ట్రాఫిక్ను అడ్డగించాలని పోర్టల్ ఆశిస్తుంది, కాబట్టి హోటల్ మరియు విమానాశ్రయ నెట్వర్క్లలో పోర్టల్ లాగిన్ తర్వాత సొరంగాన్ని పైకి తీసుకురండి, ఎప్పుడూ అంతకు ముందు కాదు.
గేట్వేపై ఫార్వార్డింగ్ మరియు తిరిగి వచ్చే మార్గం
గేట్వేపై, మీరు మోసుకెళ్తున్న కుటుంబానికి ఫార్వార్డింగ్ను ప్రారంభించండి, అనువదించేటప్పుడు forward గొలుసును రెండు దిశలలో అనుమతించండి, మరియు మూలానికి నిర్దిష్టమైన శోధనతో తిరిగి వచ్చే మార్గాన్ని నిర్ధారించండి. వీటిలో ఏదీ విజయవంతమైన హ్యాండ్షేక్ నుండి రాదు, ఎందుకంటే హ్యాండ్షేక్ రెండు జోడీలు UDP మార్పిడి చేసుకోగలవని మాత్రమే నిరూపిస్తుంది. డీక్యాప్సులేట్ చేసిన ప్యాకెట్కు తర్వాత ఏమి జరుగుతుందో దాని గురించి ఏమీ చెప్పదు.
sysctl net.ipv4.ip_forward net.ipv6.conf.all.forwarding
ip route get 1.1.1.1 from 10.8.0.2
శోధన క్లయింట్పై కాదు, గేట్వేపై నడుస్తుంది, లేకపోతే మీరు మరొక మార్గ పట్టికను చదువుతారు. అది తప్పు ఇంటర్ఫేస్ను పేర్కొంటే, లేదా మార్గం లేదని నివేదిస్తే, క్లయింట్ వైపు ఏ మార్పు ఇంటర్నెట్ నిష్క్రమణను ఉత్పత్తి చేయదు. గేట్వే బయటకు వెళ్ళేటప్పుడు క్లయింట్ చిరునామాలను అనువదిస్తే, ప్రతిస్పందన ఆ అనువాద స్థితిపై ఆధారపడి ఉంటుంది, కాబట్టి నియమం ప్రవాహం యొక్క బయటకు వెళ్ళే దిశకు మాత్రమే కాదు, రెండు దిశలకూ ఉండాలి.
DNS మరియు వైఫల్య స్థితి, విడివిడిగా పరీక్షించబడ్డాయి
ప్రోటోకాల్ స్వయంగా ఏ అనువర్తనం యొక్క రిజాల్వర్ను కాన్ఫిగర్ చేయదు. wg-quick పంపిణీ యొక్క రిజాల్వర్ ఏకీకరణ ద్వారా DNS పంక్తిని వర్తింపజేస్తుంది, స్వంత స్టాక్లు ఉన్న కంటైనర్లు మరియు బ్రౌజర్లు దాన్ని విస్మరించవచ్చు, కాబట్టి సొరంగం ప్యాకెట్లను పరిపూర్ణంగా మోసుకెళ్తున్నప్పుడు కూడా పేరు విఫలమవవచ్చు. చిరునామాకు బదులుగా హోస్ట్ పేరుతో పరీక్షించండి, మరియు ప్రొఫైల్లోని సర్వర్ ప్రతిస్పందించిందని ఊహించడం బదులు ఏ సర్వర్ ప్రతిస్పందించిందో గుర్తించండి.
చిరునామా కుటుంబాలు వేరే ప్రతిస్పందనతో కూడిన వేరే పరీక్ష. v4 డిఫాల్ట్ ఒక అనువర్తనం యొక్క v6 కనెక్షన్ ఏమి చేస్తుందో ఏమీ చెప్పదు, మరియు రెండవ కుటుంబాన్ని నిశ్శబ్దంగా లీక్ చేసే సొరంగం గట్టిగా విఫలమయ్యే దానికంటే అధ్వాన్నం. ప్రతి కుటుంబం ద్వారా పేరు అడగండి, ప్రతి అభ్యర్థన ఉపయోగించిన ఇంటర్ఫేస్ను చదవండి, మరియు అనువాద కౌంటర్లను ముందు మరియు తర్వాత తనిఖీ చేయండి, ఎందుకంటే దేనితోనూ సరిపోలని నియమం లేని నియమంలా కనిపిస్తుంది.
చివరగా, సొరంగం ఆగినప్పుడు మీరు కోరుకునే స్థితిని పరీక్షించండి. పూర్తి సొరంగం తాను చెప్పుకునే ట్రాఫిక్ కోసం మూసివేసిన విధంగా విఫలం కావాలి: ఇంటర్ఫేస్ కిందకు దిగి అనువర్తనాలు భౌతిక లింక్ ద్వారా నిశ్శబ్దంగా కొనసాగితే, రూపకల్పన అదనపు దశలతో కూడిన విభజిత సొరంగం. ఉద్దేశించిన వైఫల్య ప్రవర్తనను రాయండి, ఉద్దేశపూర్వకంగా తనిఖీ చేయండి, మరియు నాలుగు సమాధానాలను నమోదు చేసి ముగించండి — ఏ నిర్వాహకుడు ఇంటర్ఫేస్ను పైకి తెస్తాడు, ఏ మార్గం డిఫాల్ట్ను మోస్తుంది, గేట్వేపై ఎవరు ఫార్వార్డ్ చేసి అనువదిస్తారు, మరియు ఏ రిజాల్వర్ ప్రతిస్పందిస్తుంది.