మీరు కోరిన నేమ్‌స్పేస్‌లో ఇంటర్ఫేస్ జాబితా చేయబడింది, అప్లికేషన్ దానికి బద్ధమైంది, అయినా ఏ టన్నెల్ ట్రాఫిక్ కనిపించదు. ఇది ఒక నేమ్‌స్పేస్‌లో సృష్టించి మరొకటికి తరలించిన Linux కర్నెల్ WireGuard పరికరం లక్షణం: ఇంటర్ఫేస్ తరలింది, దాని ఎన్‌క్రిప్ట్ చేసిన UDP సాకెట్ తరలలేదు. లోపలి ట్రాఫిక్కు ప్రాముఖ్యం రాకముందు రెండూ సరైన చోటులో ఉండాలి. ఒకటి కాదు రెండు సందర్భాలను చూడాలని తెలిస్తే తనిఖీ వేగంగా జరుగుతుంది.

లక్షణం: సరైన నేమ్‌స్పేస్, కానీ ప్యాకెట్లు లేవు

నేమ్‌స్పేస్ లోపల టన్నెల్ ఆరోగ్యకరంగా కనిపిస్తుంది. పరికరం ఉంది, చిరునామాలు కేటాయించబడ్డాయి, పీర్ కాన్ఫిగరేషన్ ఉంది. బయట, మీరు గమనిస్తున్న ఇంటర్ఫేస్‌పై ఆశించిన UDP మార్పిడి ఎప్పుడూ కనిపించదు, ఎదురుగా ఉన్న వైపు హ్యాండ్‌షేక్ జరగలేదని తెలియజేస్తుంది.

కారణం ఏమిటంటే అప్లికేషన్ లోపలి ప్యాకెట్లు తరలించిన పరికరాన్ని చేరుతాయి, మరియు పరికరం వాటిని మరొక నెట్‌వర్క్ సందర్భానికి చెందిన సాకెట్ ద్వారా పంపడానికి ప్రయత్నిస్తుంది. అది ఉపయోగించే అండర్‌లే మార్గం, దానికి వర్తించే ప్రతి ఫైర్‌వాల్ నియమం పరికరం సృష్టించిన నేమ్‌స్పేస్‌లోనే ఉన్నాయి.

ఇది తరలింపులో లోపం కాదు, పీర్ యొక్క తప్పు కాన్ఫిగరేషన్ కూడా కాదు. కర్నెల్ అమలు అలానే పనిచేస్తుంది, మరియు WireGuard కోసం నేమ్‌స్పేస్ పత్రాలు సృష్టి నియమాన్ని నేరుగా వివరిస్తాయి.

సాకెట్కు పుట్టిన చోటు ఎందుకు ఉంది

WireGuard పరికరం తన ఎన్‌క్రిప్ట్ చేసిన రవాణా కోసం ఒక UDP సాకెట్ కలిగి ఉంటుంది, ఆ సాకెట్ పరికరం సృష్టిచే నేమ్‌స్పేస్‌లోనే తెరుచుకుంటుంది. లింక్ ఆదేశంతో ఇంటర్ఫేస్‌ను తరలిస్తే కనిపిస్తున్న పరికరం తరలుతుంది కానీ రవాణా ప్రారంభమైన చోట్లోనే ఉంటుంది. అప్పుడు రెండు వస్తువులకు వేర్వేరు యాజమానులు ఉంటారు.

ఫలితాన్ని మిస్ చేయడం సులభం ఎందుకంటే రెండు భాగాలు వేర్వేరు ప్రదేశాల్లో పరిశీలించబడతాయి. లోపలి మార్గం అప్లికేషన్ నడిచే నేమ్‌స్పేస్‌లో నిర్ణయించబడుతుంది, బయటి మార్గం సాకెట్ ఉన్న చోటులో నిర్ణయించబడుతుంది. వాటిలో ఒకటి మాత్రమే తనిఖీ చేస్తే నమ్మకంగా ఉన్నా తప్పు ముగితం వస్తుంది. రెండినీ తనిఖీ చేస్తే సాధారణంగా ఒకే ర౗ండ్లో విచారణ ముగుస్తుంది.

సాకెట్ కావల్సిన చోట్లోనే దాన్ని సృష్టించండి

పరిష్కారం, పరికరాన్ని బయట సృష్టించి తరలించడం బదులు లక్ష్య నేమ్‌స్పేస్ లోపలే సృష్టించడం. ఆమోదించిన నేమ్‌స్పేస్ ఇప్పటికే ఉందని, పేరు వాడుకలో లేదని భావిస్తే:

ip netns exec vpn-apps ip link add wg-demo type wireguard
ip netns exec vpn-apps wg show

ఇప్పుడు ఇంటర్ఫేస్ మరియు దాని సాకెట్ రెండూ ఆ సందర్భానికి చెందుతాయి, కాబట్టి అండర్‌లే మార్గం మరియు వర్తించే ఫిల్టర్ నియమాలు అక్కడే కాన్ఫిగర్ చేసినవి. డిజైన్‌కు స్పష్టమైన వైపు మరొక చోట కావలస్టే, ముందు ప్రాథమిక ఇంటర్ఫేస్‌ను నేమ్‌స్పేస్‌లో ఉంచి తరువాత టన్నెల్ సృష్టించండి. క్రమం డిజైన్లో భాగం, అమలు వివరం కాదు.

వీటిని నెట్‌వర్క్ నిర్వహణ ఆదేశాలుగా చూడండి, వంటకంగా కాదు. అవి పరికరాన్ని సృష్టించి స్థితిని చూపుతాయి; కీలు, పీర్లు, చిరునామాలు, మార్గాలు ఇంకా ఆమోదించిన కాన్ఫిగరేషన్ నుండే రావాలి, మరియు ఉన్న ఉత్పత్తి ఇంటర్ఫేస్‌ను ఎప్పుడూ ఉదాహరణలో భర్తీ చేయకూడదు.

మార్గం రెండు వైపులనూ చదవండి

పరికరం సరైన చోటుకు వచ్చాక, రెండూ నిర్ణయాలను వెర్వేరుగా ధృవీకరించండి. అప్లికేషన్ సందర్భం నుండి లోపలి శోధనతో ప్రారంభించి, తరువాత సాకెట్ యాజమాన్య సందర్భం నుండి బయటి మార్గాన్ని తనిఖీ చేయండి:

ip netns exec vpn-apps ip route get 10.30.0.9
ip netns exec vpn-apps wg show
tcpdump -ni any udp port 51820

లోపలి శోధన టన్నెల్ ద్వారా పరిష్కారమై, బయటి క్యాప్చర్ ఎన్‌క్రిప్ట్ చేసిన మార్పిడిని చూపితే, రెండూ భాగాలు సరిపోతాయి. క్యాప్చర్ ఖాళీగా ఉంటే, సాకెట్ ఇంకా వేరే చోట ఉంది, లేదా దాని నేమ్‌స్పేస్‌లోని అండర్‌లే మార్గం చివరి బిందువును చేరుకోదు.

మరొక తనిఖీ రికార్డులో ఉండాలి: పునఃప్రారంభం తరువాత పరికరం ఎలా సృష్టించబడుతుంది. వేరే సృష్టి సందర్భంతో ఇంటర్ఫేస్‌ను మళ్ళీ సృష్టించే నిర్వాహకుడు సాకెట్ పుట్టిన చోటును మారుస్తాడు. ఒకసారి పనిచేసిన చేతితో చేసిన తరలింపు నిర్వహించబడే మార్గం గురించిన సాక్ష్యం కాదు.

సంబంధిత వ్యాసాలు