ఒక WireGuard పీర్ చేరుకోలేని స్థితిలో మరొకటి పని చేస్తుంటే: తనిఖీ జాబితా
పని చేస్తున్న పీర్ తన సొంత కీ, ఎండ్పాయింట్ మరియు మార్గాలను మాత్రమే నిరూపిస్తుంది. ఏ నియమాన్నైనా విస్తరించే ముందు విఫలమైన పీర్ యొక్క AllowedIPs, హబ్ ఫార్వార్డింగ్ మరియు లోపలి మూలాన్ని పోల్చండి.
ఒక WireGuard పీర్ ట్రాఫిక్ను దాటిస్తుంది మరియు రెండవది హ్యాండ్షేక్ను పూర్తి చేస్తుంది కానీ సొరంగం వెనుక ఉన్న దేనినీ ఎప్పటికీ చేరుకోదు. పని చేస్తున్న పీర్ ఇంటర్ఫేస్, UDP పోర్ట్ మరియు సర్వర్ కీ బహుశా బాగానే ఉన్నాయని మీకు చెబుతుంది. రెండవ పీర్ యొక్క AllowedIPs, దాని లోపలి మూల చిరునామా లేదా వాటి మధ్య ఫార్వార్డింగ్ నియమాల గురించి ఏమీ చెప్పదు. జాబితాను క్రమంగా పూర్తి చేసి, షరతు విఫలమయ్యే మొదటి దశలో ఆగండి.
దశ 1: ప్యాకెట్ తీసుకోవలసిన మార్గాన్ని రాయండి
ఒకే హబ్పై ఉన్న ఇద్దరు క్లయింట్లు ఆటోమేటిక్గా ఒకరినొకరు చేరుకోరు. హబ్ మరియు కిరణాల రూపకల్పనలో సర్వర్ ప్యాకెట్ను wg0పై స్వీకరించి దాన్ని మళ్లీ wg0 నుండి మరో పీర్కు ఫార్వార్డ్ చేయాలి, దీనికి IP ఫార్వార్డింగ్ మరియు ఫార్వార్డ్ నియమం అవసరం. నేరుగా పీర్-టు-పీర్ రూపకల్పనలో ప్రతి వైపు మరొక వైపు ఎండ్పాయింట్ మరియు మరొక వైపు సొరంగ చిరునామా AllowedIPs లోపల ఉండాలి. ఏదైనా కాన్ఫిగరేషన్ చదవడానికి ముందు మీరు ఏ రూపకల్పనను డీబగ్ చేస్తున్నారో నిర్ణయించుకోండి.
ఆశించిన మార్గం ఎక్కడ చూడాలో కూడా చెబుతుంది. ప్యాకెట్ హబ్ను దాటాల్సి ఉంటే, విఫలమయ్యే హాప్ పంపినవారి AllowedIPs, హబ్ ఫార్వార్డింగ్ లేదా స్వీకరించేవారి AllowedIPs. అది నేరుగా వెళ్లాల్సి ఉంటే, హబ్ అప్రస్తుతం మరియు రెండు పీర్ల ఎండ్పాయింట్ ఫీల్డ్లే ముఖ్యం.
దశ 2: AllowedIPsను రెండు వైపులా పోల్చండి, ఒక వైపే కాదు
WireGuard AllowedIPsను రూటింగ్ పట్టికగా మరియు యాక్సెస్ జాబితాగా ఒకేసారి ఉపయోగిస్తుంది. పంపేటప్పుడు సొరంగాన్ని ఎంచుకోవడానికి గమ్య చిరునామా పీర్ యొక్క AllowedIPsలో వెతకబడుతుంది; స్వీకరించేటప్పుడు లోపలి మూల చిరునామా పంపే పీర్ యొక్క AllowedIPs లోపల పడాలి, లేకపోతే ప్యాకెట్ విస్మరించబడుతుంది. ఏ వైపైనా పరిధి లేకపోతే అదే లక్షణం కనిపిస్తుంది: రవాణా పనిచేస్తుంది, పేలోడ్ కనుమరుగవుతుంది.
ఫైల్ కాకుండా ప్రత్యక్ష స్థితిని చదవండి, ఎందుకంటే మళ్లీ లోడ్ చేయడం నిశ్శబ్దంగా విఫలమై ఉండవచ్చు: sudo wg show wg0 allowed-ips. సర్వర్లో విఫలమైన పీర్ నమోదులో దాని సొరంగ చిరునామా ఉండాలి, ఉదాహరణకు 10.90.0.3/32. క్లయింట్లో సర్వర్ పీర్ నమోదులో మీరు పరీక్షిస్తున్న గమ్యం ఉండాలి, అది హబ్ సొరంగ చిరునామా అయినా లేదా దూర సబ్నెట్ అయినా. ఒకదానిపై మరొకటి పడే పరిధులు శోధనను అస్పష్టం చేస్తాయి మరియు మీరు ఉద్దేశించని పీర్ను ఎంచుకోవచ్చు, కాబట్టి వాటిని వేరుగా ఉంచండి.
దశ 3: లోపలి మూల చిరునామాన్ని తనిఖీ చేయండి
10.90.0.3ను wg0 ద్వారా రూట్ చేస్తూ ప్యాకెట్లను తన Wi-Fi చిరునామా నుండి పంపే క్లయింట్ను స్వీకరించేవారు తిరస్కరిస్తారు, ఎందుకంటే మూలం పీర్ యొక్క AllowedIPsతో సరిపోలదు. కర్నెల్ నిజంగా ఏమి ఎంచుకుంటుందో ip route get 10.90.0.3 from 10.90.0.2 తో, సొరంగ ఇంటర్ఫేస్కు కేటాయించిన చిరునామాను ip -brief addr show wg0 తో నిర్ధారించండి.
స్వీకరించే Linux హోస్ట్లో రివర్స్-పాత్ ఫిల్టరింగ్ రెండవ ద్వారం. తిరిగి వెళ్లే మార్గాన్ని కలిగిన ఇంటర్ఫేస్పై కఠినమైన rp_filter తాను వచ్చిన ఇంటర్ఫేస్తో తిరిగి వెళ్లే మార్గం సరిపోలని సొరంగ ట్రాఫిక్ను విస్మరించవచ్చు. నిలిపివేయడానికి ముందు ప్రభావవంతమైన విలువను తనిఖీ చేయండి; చాలా టోపాలజీలలో సరైన సవరణ మార్గం, సడలించిన ఫిల్టర్ కాదు.
దశ 4: హబ్ ఫార్వార్డింగ్ మరియు తిరిగి వెళ్లే మార్గాన్ని సమీక్షించండి
హబ్ పీర్ల మధ్య ఫార్వార్డ్ చేయాల్సి ఉంటే, కర్నెల్కు net.ipv4.ip_forward=1 అవసరం, మరియు ఫైర్వాల్ ఫార్వార్డ్ చేసిన ప్రవాహాన్ని అంగీకరించాలి: wg0లో లోపలికి, wg0 నుండి బయటకు, పంపినవారి సొరంగ చిరునామా నుండి స్వీకరించేవారి చిరునామా వరకు. సాధారణ వైఫల్యం ఏమిటంటే UDP 51820ను అంగీకరించే ఇన్పుట్ నియమం ఉండి ఫార్వార్డ్ నియమం లేకపోవడం], అప్పుడు హ్యాండ్షేక్ విజయవంతమవుతుంది మరియు పేలోడ్ చనిపోతుంది. ప్రభావవంతమైన నియమాలను sudo nft list ruleset లేదా మీ ఫైర్వాల్ మేనేజర్కు సమానమైన ఆదేశంతో జాబితా చేయండి.
తర్వాత ప్రతిస్పందనను తనిఖీ చేయండి. గమ్య హోస్ట్కు పంపినవారి వైపు తిరిగి వెళ్లే మార్గం ఉండాలి, అది హబ్ ద్వారా లేదా దాని స్వంత గేట్వే ద్వారా. హబ్ సొరంగ సబ్నెట్కు NAT కూడా చేస్తే, అనువాదం ఫార్వార్డ్ చేసిన ప్రవాహానికి వర్తిస్తుందని మరియు స్థితి ముగిసే ముందు ప్రతిస్పందన హబ్ను చేరుతుందని నిర్ధారించండి. కీ సమస్యలా కనిపించే ఏకదిశ వైఫల్యం తరచుగా ఈ తిరిగి వెళ్లే మార్గమే.
చివరగా, హ్యాండ్షేక్ను డేటా నుండి వేరు చేయండి. హ్యాండ్షేక్ను పూర్తి చేసి పెద్ద బదిలీలలో నిలిచిపోయే పీర్కు సాధారణంగా అదే మార్గంలో MTU లేదా MSS సమస్య ఉంటుంది, AllowedIPs సమస్య కాదు. మొదట చిన్న పింగ్తో, తర్వాత పూర్తి పరిమాణ పింగ్తో పరీక్షించి రెండు పీర్లను పోల్చండి.
దశ 5: ఒక విషయాన్ని మార్చి పని చేస్తున్న పీర్ను చెక్కుచెదరకుండా ఉంచండి
విఫలమైన మార్గంలో ఒకే మార్పు చేసి రెండు పీర్లను మళ్లీ పరీక్షించండి. ప్రతి పీర్ యొక్క AllowedIPsను 0.0.0.0/0తో భర్తీ చేయడం ఇప్పటికే పని చేసిన పీర్ను పగలగొట్టడానికి వేగవంతమైన మార్గం, ఎందుకంటే అది ఆ ఇంటర్ఫేస్పై అన్ని ట్రాఫిక్కు రూటింగ్ నిర్ణయాన్ని మారుస్తుంది. ఆ ఒకే నమోదును సవరించి, మళ్లీ లోడ్ చేసి, ప్రత్యక్ష స్థితిని మళ్లీ చదవండి.
ఏ మార్గం విజయవంతమైంది, ఏది విఫలమైంది మరియు ప్రతి దానికి ఖచ్చితమైన ఆదేశ అవుట్పుట్ను నమోదు చేయండి. ఆ పోలిక VPN పాడైందనే సాధారణ నివేదిక కంటే విలువైనది, మరియు తదుపరి వ్యక్తి మొదట అడిగేది అదే.