AllowedIPs ఒక రూటింగ్ జాబితా, ఫైర్వాల్ నియమం కాదు
ఇది బయటికి వెళ్లే ట్రాఫిక్కు ఒక పీర్ను ఎంచుకుని లోపలికి వచ్చే మూలాలను ధృవీకరిస్తుంది. ఇది యాక్సెస్ జాబితా కాదు, రూట్ నిర్వహణను ఆఫ్ చేయడం విభజిత సొరంగాన్ని సరిచేయదు.
చాలామంది AllowedIPs ను అనుమతుల జాబితాగా చదువుతారు, అంటే ఒక పీర్తో కనెక్ట్ కాగల చిరునామాల సమూహం, సొరంగం కోసం రాసిన ఫైర్వాల్ నియమం లాగా. అలా కాదు. ఈ ఫీల్డ్ రెండు దిశల్లో పనిచేసే రూటింగ్ పట్టిక: బయటికి వెళ్లే ప్యాకెట్కు పీర్ను ఎంచుకుంటుంది, లోపలికి వచ్చే ప్యాకెట్ మూలాన్ని ధృవీకరిస్తుంది. దీన్ని యాక్సెస్ జాబితాగా చదవడం ఎవరూ అడగని ట్రాఫిక్ను రూట్ చేసే కాన్ఫిగరేషన్లను సృష్టిస్తుంది.
ఒక ఫీల్డ్, ఇద్దరు పాఠకులు: బయటికి వెళ్లే ఎంపిక మరియు మూల తనిఖీ
క్లయింట్లో, ఏ గమ్యాలు ఆ పీర్కు వెళ్తాయి, ఏవి సాధారణ నెట్వర్క్లో ఉంటాయి అని ప్రిఫిక్స్లు నిర్ణయిస్తాయి. అందుకే 0.0.0.0/0 కోసం ఎంట్రీ ప్రతి IPv4 గమ్యాన్ని పట్టుకుంటుంది, అందుకే పూర్తి సొరంగ ప్రొఫైల్ను దిగుమతి చేసుకోవడం సాధారణ బ్రౌజింగ్ను దూర మెషీన్ ద్వారా పంపుతుంది. సన్నని ఎంట్రీలు దీనికి విరుద్ధంగా చేస్తాయి: మీరు జాబితా చేసిన నెట్వర్క్లను మాత్రమే రూట్ చేసి మిగతావన్నీ ఉన్న చోటే ఉంచుతాయి. WireGuard డాక్యుమెంటేషన్లోని క్రిప్టోకీ రూటింగ్ విభాగం రెండు పనులను ఒకే చోట చెబుతుంది: బయటికి వెళ్లే పీర్ ఎంపిక మరియు లోపలికి వచ్చే మూల ధృవీకరణ.
సర్వర్లో, అదే ఫీల్డ్ ప్రతి పీర్ ఉపయోగించగల మూల చిరునామాలను వివరిస్తుంది. ఇది ప్యాకెట్ ఫిల్టర్ కాదు, క్రిప్టోగ్రాఫిక్ తనిఖీ: లోపలి మూలం పీర్ జాబితాతో సరిపోలని ప్యాకెట్, హోస్ట్లోని ఏ ఫైర్వాల్ చూసే ముందే WireGuard లోపల పడవేయబడుతుంది. రెండు పనులు ఒకే జాబితాను పంచుకుంటాయి, అందుకే వేరే చోటి నుండి కాపీ చేసిన జాబితా మీరు పరిగణించని చోట తప్పుగా ప్రవర్తిస్తుంది.
క్లయింట్ బ్లాక్ ఈ గందరగోళంలో ఎక్కువ భాగం మొదలయ్యే చోటు. విభజిత సొరంగం దూర నెట్వర్క్లను పేర్కొంటుంది, పూర్తి సొరంగం అంటే అదే ఫీల్డ్ డిఫాల్ట్ ప్రిఫిక్స్తో:
[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24
[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0
రెండు రూపాలూ స్వయంగా పూర్తివి, అవి దశలు కావు, ప్రత్యామ్నాయాలు. మొదటిది ఆ రెండు నెట్వర్క్లను మాత్రమే సొరంగం ద్వారా పంపుతుంది; రెండవది ప్రతి గమ్యాన్ని పంపుతుంది, ::/0 ఎంట్రీ IPv4 డిఫాల్ట్కు IPv6 జోడిస్తుంది. మీరు ఏది ఎంచుకున్నా, wg-quick రూట్లను ఇన్స్టాల్ చేయడం ప్రారంభించాక ఆ ప్రిఫిక్స్లే ఆ పీర్కు పూర్తి రూటింగ్ నిర్ణయం.
హబ్కు వేరే జాబితా కావాలి
హబ్ ప్రతి క్లయింట్ సొరంగ చిరునామాను హోస్ట్ ప్రిఫిక్స్గా జాబితా చేస్తుంది, అలాగే ఆ క్లయింట్ వెనుక నిజంగా ఉన్న ఏ నెట్వర్క్నైనా. ఒక క్లయింట్ విస్తృత జాబితాను ప్రతి హబ్ పీర్కు కాపీ చేయడం, చాలా పీర్లు ఒకే చిరునామాలను మూలంగా ఉపయోగించవచ్చని హబ్కు చెబుతుంది, అది చిరునామా ప్రణాళిక కాదు. Endpoint ఫీల్డ్ పూర్తిగా వేరే పొరకు చెందుతుంది: ఇది పీర్ బయటి చిరునామా మరియు పోర్టును పేర్కొంటుంది, సొరంగం లోపలి గమ్యాన్ని ఎప్పటికీ కాదు.
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
హోస్ట్ ప్రిఫిక్స్ సొరంగ చిరునామాను మోస్తుంది, నెట్వర్క్ ప్రిఫిక్స్ క్లయింట్ వెనుక ఉన్నదాన్ని మోస్తుంది, రెండూ అవసరం. హోస్ట్ ప్రిఫిక్స్ లేకుండా హబ్ క్లయింట్ సొంత ట్రాఫిక్ను తిరిగి పంపలేదు, నెట్వర్క్ ప్రిఫిక్స్ లేకుండా దాని వెనుక LAN అందుబాటులో లేకుండా ఉంటుంది; వెనుక ఏమీ లేని పీర్ హోస్ట్ ప్రిఫిక్స్ మాత్రమే పొందుతుంది.
రూట్ ఇన్స్టాలేషన్ను దాటవేయడం ఖాళీని వదిలిస్తుంది
wg-quick, కాన్ఫిగరేషన్ ఫైల్ నుండి ఇంటర్ఫేస్ను లేపే సహాయకుడు, ఆ పనిలో భాగంగా ఇంటర్ఫేస్ చిరునామాలు మరియు రూట్లను ఇన్స్టాల్ చేస్తుంది. Table = off సెట్ చేయడం సహాయకుడికి రూట్ పనిని దాటవేయమని చెబుతుంది, అది ప్రత్యామ్నాయాలను ఇన్స్టాల్ చేయదు, ప్రైవేట్ నెట్వర్క్ను అందుబాటులోకి తీసుకురాదు. ఆటోమేటిక్ రూట్లు ఇప్పటికే పని చేస్తున్నప్పుడు, అవసరమైన ప్రిఫిక్స్లను పేర్కొనడం స్పష్టమైన కాన్ఫిగరేషన్. రూట్ నిర్వహణను ఆఫ్ చేసి ప్రత్యామ్నాయాన్ని రాయకుండా వదిలేయడం డిజైన్ కాదు, అది ఒక మినహాయింపు.
ప్రాథమిక wg సాధనం భిన్నంగా ప్రవర్తిస్తుంది: ఇంటర్ఫేస్ను కాన్ఫిగర్ చేస్తుంది, రూట్లను ఎప్పటికీ తాకదు, కాబట్టి దానిపై నేరుగా నిర్మించిన సెటప్కు దాని సొంత రూట్ ఆదేశాలు కావాలి. ఒక సాధనం కోసం రాసిన సూచనలు మరొకదానితో అనుసరించినప్పుడు తప్పుగా కనిపించవచ్చు. విజయవంతమైన ping కూడా బలహీనమైన సాక్ష్యం, ఎందుకంటే ఇది మీకు అవసరమైన ప్రతి అప్లికేషన్ మార్గాన్ని కాదు, ఒక మార్గాన్ని మాత్రమే పరీక్షిస్తుంది.
DNS మరియు IPv6 విడివిడిగా నిర్ణయించబడతాయి
సొరంగం ప్రకటించే DNS సర్వర్ చిరునామాన్ని తనిఖీ చేయండి, మీరు ఎంచుకున్న ప్రిఫిక్స్ ద్వారా ఆ చిరునామాకు రూట్ ఉందని నిర్ధారించండి. రిజాల్వర్ సెట్టింగ్ రిజాల్వర్ను అందుబాటులోకి తీసుకురాదు, సొరంగాన్ని ఇరుకుగా చేయడం అక్కడికి వెళ్లే రూట్ను నిశ్శబ్దంగా తొలగించవచ్చు. IPv6ను కూడా విడిగా పరిశీలించండి, ఎందుకంటే సరైన IPv4 విభజన ఇప్పటికీ భౌతిక లింక్ను చూపుతున్న IPv6 డిఫాల్ట్ రూట్ గురించి ఏమీ చెప్పదు. ఒక పీర్ బ్లాక్ను సవరించినప్పుడు మూడు వేర్వేరు నిర్ణయాలు ఒకేసారి మారవచ్చు.
తర్వాత తెలిసిన ప్రారంభ కాన్ఫిగరేషన్ నుండి ఒక ప్రైవేట్ వనరును, ఒక సాధారణ వెబ్సైట్ను తెరవండి. వనరు ప్రతిస్పందిస్తే, బ్రౌజింగ్ ఇప్పటికీ స్థానిక కనెక్షన్ ద్వారా బయటికి వెళ్తే, విభజన మీరు అడిగినట్లు పని చేస్తుంది. అదే క్షణంలో బ్రౌజింగ్ విరిగిపోతే, సొరంగం డిఫాల్ట్ రూట్ను తీసుకుంది, ప్రిఫిక్స్ జాబితానే చూడాల్సిన చోటు.