టన్నెల్ నడుస్తోంది, handshake ప్రతి రెండు నిమిషాలకు జరుగుతుంది, మరియు అవతలి వైపు సరిగ్గా ఒక చిరునామా ప్రతిస్పందిస్తుంది. పీర్ టన్నెల్ చిరునామాకు ping పనిచేస్తాయి; దాని వెనుక ఏదీ పనిచేయదు. ఎవరో ఇంటర్ఫేస్ కాన్ఫిగరేషన్ చదివి, హోస్ట్ ప్రిఫిక్స్ చూసి, మాస్క్ తప్పు అని నిర్ధారణకు వస్తారు. దాన్ని /24కి విస్తరించడం pingని కొంతసేపు సరిచేసి తర్వాత మరేదో పాడు చేస్తుంది. ప్రిఫిక్స్ ఎప్పుడూ కారణం కాదు, మరియు మాయమైన మార్గం మాస్క్ నియంత్రించే మార్గం కాదు.

ఇంటర్ఫేస్ ప్రిఫిక్స్ నిజంగా ఏమి సృష్టిస్తుంది

Linuxలో ఇంటర్ఫేస్కు చిరునామా కేటాయించడం ఆ ప్రిఫిక్స్ కోసం అనుసంధానిత మార్గాన్ని సృష్టిస్తుంది. హోస్ట్ ప్రిఫిక్స్ కేటాయిస్తే అనుసంధానిత మార్గం ఒక చిరునామాను కవర్ చేస్తుంది. /24 కేటాయిస్తే అది 256ని కవర్ చేస్తుంది, మరియు వాటిలో ప్రతిదీ ఇప్పుడు ఆ లింక్ ద్వారా చేరుకోగలిగినదిగా పరిగణించబడుతుంది.

ip -4 addr show dev wg0
ip -4 route show dev wg0
ip route get 10.80.7.1

హోస్ట్ ప్రిఫిక్స్ పాయింట్-టు-పాయింట్ టన్నెల్కు పూర్తిగా సాధారణ ఎంపిక, ఎందుకంటే అవతలి చివర సరిగ్గా ఒక పీర్ ఉంటుంది. మూడవ ఆదేశమే వినియోగదారు ప్రశ్నకు సమాధానం ఇస్తుంది: కెర్నల్ ఆ గమ్యానికి ఏ ఇంటర్ఫేస్ ఉపయోగిస్తుందో చెబుతుంది, ఏ మార్గం సరిపోలకపోతే ఉపయోగకరమైనది ఏమీ చూపదు.

లక్షణం యొక్క పూర్తి వివరణ ఇదే. ఒక చిరునామా ప్రతిస్పందిస్తుంది ఎందుకంటే దానికి అనుసంధానిత మార్గం ఉంది, లేదా పీర్ అనుమతించిన జాబితాలో అది యాదృచ్ఛికంగా ఉంది. మిగిలిన అన్నింటికీ మార్గం లేదు మరియు WireGuard పాల్గొనకముందే అది పడవేయబడుతుంది. టన్నెల్ అంతా ఆరోగ్యంగా ఉంటుంది, అందుకే handshake కౌంటర్ భరోసా ఇచ్చేలా కనిపిస్తూనే ఉంటుంది.

AllowedIPs ఒక పేరు కింద రెండు నియమాలు

WireGuard పీర్కు అనుమతించిన జాబితా ఒకేసారి రెండు పనులు చేస్తుంది, కాన్ఫిగరేషన్ వాక్యనిర్మాణం వాటిని ఒకటిగా కనిపించేలా చేస్తుంది. లోపలికి వచ్చేటప్పుడు పీర్ ఏ మూల చిరునామాలను ప్రదర్శించవచ్చో అనుమతిస్తుంది. బయటికి వెళ్లేటప్పుడు ప్యాకెట్ ఏ పీర్కు పంపబడుతుందో ఎంచుకుంటుంది, అత్యంత నిర్దిష్ట సరిపోలికను కనుగొని.

ఈ రెండు పనులలో ఏదీ రూటింగ్ కాదు. ప్యాకెట్ టన్నెల్ ఇంటర్ఫేస్కు చెందినదని కెర్నల్ ఇంకా నిర్ణయించాలి, అంతకుముందు WireGuard దాన్ని చూస్తుంది, ఈ నిర్ణయం రూటింగ్ పట్టిక నుండి వస్తుంది. విస్తృత అనుమతించిన జాబితాతో కూడిన పీర్ ఎంట్రీ తనంతట తాను మార్గాన్ని ఇన్స్టాల్ చేయదు.

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

మార్గం ఎక్కడి నుండి వస్తుంది

మీరు wg-quick ఉపయోగిస్తే, మార్గాలు మీ కోసం ప్రతి పీర్ అనుమతించిన జాబితా నుండి సృష్టించబడతాయి, మీరు Table = off సెట్ చేసి నియంత్రణను మీరే తీసుకోకపోతే. ఇది సాధనం డాక్యుమెంట్ చేసిన ప్రవర్తన, అందుకే స్పష్టమైన మార్గ సూచనలు లేకుండా కూడా కాన్ఫిగరేషన్ పనిచేస్తుంది.

sudo wg show wg0 allowed-ips
ip route show | grep wg0
sudo wg-quick strip wg0

అనుమతించిన జాబితాను నిజంగా ఉన్న మార్గాలతో పోల్చండి. మొత్తం సబ్నెట్ను అనుమతించి కానీ ఒక హోస్ట్ మార్గాన్ని మాత్రమే సృష్టించిన పీర్ అంటే సహాయకుడు ఎప్పుడూ నడవలేదు, లేదా మీరు ఇంటర్ఫేస్ను నేరుగా wg మరియు ip ద్వారా నిర్వహిస్తున్నారు, అప్పుడు మీ కోసం ఏదీ మార్గాలను సృష్టించదు.

మీరు దాన్ని చేతితో నిర్వహించినప్పుడు, మార్గం ఒక పంక్తి మరియు దాని ఆకారం స్పష్టం: గమ్యం ఇంటర్ఫేస్ ద్వారా, గేట్వే లేకుండా ఎందుకంటే లింక్ పాయింట్-టు-పాయింట్. దాన్ని జోడించడం చెడు ప్రిఫిక్స్కు పరిహారం కాదు; రూటింగ్ను తామే తీసుకున్న రూపకల్పనలో మిస్ అయిన సగం అది.

విస్తృత ప్రిఫిక్స్ పీర్ ఎంట్రీని జోడించదు

ఆకర్షణీయమైన సవరణ ఏమిటంటే చిరునామాను /24కి మార్చడం, తద్వారా అనుసంధానిత మార్గం సర్వర్ స్థానిక నెట్వర్క్ను కవర్ చేస్తుంది. అది పనిచేస్తున్నట్టు కనిపిస్తుంది, పనిచేస్తున్నట్టు కనిపించడానికి కారణం అనుసంధానిత మార్గం ఇప్పుడు సరిపోలుతోంది, WireGuard కొత్తగా ఏదో నేర్చుకోవడం కాదు.

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

క్రిప్టోగ్రాఫిక్ వైపు ఏ సందర్భంలోనూ ప్రభావితం కాదు. WireGuard పీర్ను ఎంచుకోవడానికి అనుమతించిన జాబితాలో గమ్యాన్ని కవర్ చేసే ఎంట్రీ ఇంకా అవసరం, అవతలి వైపు మీ మూలాన్ని అంగీకరించడానికి దాన్ని కవర్ చేసే ఎంట్రీ ఇంకా అవసరం. విస్తృత ఇంటర్ఫేస్ ప్రిఫిక్స్ వాటిలో ఏదీ ఇవ్వలేదు.

ఏదైనా మార్చే ముందు రెండు దిశలను నిర్ధారించండి

రెండు చివరలను విడివిడిగా పరిశీలించి ప్రతిదీ ఏమి చెబుతుందో రాయండి. క్లయింట్పై మార్గం మరియు పీర్ ఎంట్రీ; సర్వర్పై అద్దపు ప్రతిబింబం మరియు దాని స్వంత తిరిగి వచ్చే మార్గం:

ip route get 192.168.70.20
sudo wg show wg0 allowed-ips
sudo wg show wg0 latest-handshakes
sudo tcpdump -ni wg0 -c 10

క్యాప్చర్ దిశ గురించిన వివాదాలను పరిష్కరిస్తుంది. బయటికి వెళ్లే ప్యాకెట్లు టన్నెల్ ఇంటర్ఫేస్పై కనిపించి సర్వర్ ఏమీ నమోదు చేయకపోతే, దూరపు చివర వాటిని తిరస్కరిస్తోంది, సాధారణంగా మీ మూలం దాని అనుమతించిన జాబితా బయట ఉన్నందున. ఏదీ కనిపించకపోతే, మార్గం మాయమైంది లేదా వేరే చోటికి సూచిస్తోంది.

తర్వాత అత్యంత ఇరుకైన చివరను సరిచేయండి. సర్వర్ వైపు మీ క్లయింట్ చిరునామా కోసం అనుమతించిన జాబితాలో ఎంట్రీ మరియు క్లయింట్ వైపు గమ్య సబ్నెట్ కోసం ఎంట్రీ సాధారణ ఆకారం, అది ఇంటర్ఫేస్ ప్రిఫిక్స్ను తాకదు. చిరునామా ప్రణాళిక నిజంగా ఆ లింక్పై పంచుకున్న సబ్నెట్ను కోరితే మాత్రమే ప్రిఫిక్స్ను విస్తరించండి, మరియు దాన్ని డీబగ్గింగ్ దశగా కాకుండా ప్రణాళిక మార్పుగా చేయండి.

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