రెండు సైట్ల WireGuard హబ్ కోసం IPv6 ప్రణాళిక: ప్రిఫిక్స్, పీర్లు, రూట్లు
రెండు LAN కోసం ఒక ప్రైవేట్ IPv6 హబ్పై పని చేయండి: ప్రిఫిక్స్ ఎంచుకోండి, టన్నెల్ చిరునామాలు కేటాయించండి, ఆపై ఏ పీర్ ఏ సబ్నెట్ కలిగి ఉందో AllowedIPs తెలియజేయనివ్వండి.
రెండు LAN, ఒక WireGuard హబ్ మరియు మూడు వేర్వేరు ప్రశ్నలకు సమాధానం చెప్పాల్సిన IPv6 చిరునామా ప్రణాళిక: ఏ ప్రిఫిక్స్, ఏ చిరునామా ఏ రూటర్కు చెందుతుంది మరియు ఏ పీర్ ఏ సబ్నెట్ కలిగి ఉంది. ఇవి ఏదైనా తప్పైతే చేతులు కలిపే కానీ ఏదీ రూట్ చేయని టన్నెల్ ఏర్పడుతుంది. క్రింది ప్రణాళిక అదే క్రమంలో ప్రైవేట్ రెండు-సైట్ నిర్మాణాన్ని అనుసరిస్తుంది. ఇది ఉద్దేశపూర్వకంగా IPv6 ఇంటర్నెట్ యాక్సెస్ ఇవ్వదు.
ప్రిఫిక్స్ ఎందుకు అని నిర్ణయించండి
సైట్ల మధ్య ప్రైవేట్ చేరుకోవడం లక్ష్యమైనప్పుడు fd00::/8 నుండి ప్రత్యేక-స్థానిక ప్రిఫిక్స్ సహజ ఎంపిక. ప్రతి స్థలానికి ఏ ISP సేవ చేసినా అది స్థిరంగా ఉంటుంది మరియు ప్రపంచ రూటింగ్ పట్టికలో ప్రకటించబడదు, కాబట్టి మీ అంతర్గత నంబరింగ్ ఇంటర్నెట్కు లీక్ కాలేదు.
అదే లక్షణం పరిమితి. ULA ఏ ప్రజా తిరిగి వచ్చే మార్గాన్ని ఇవ్వదు, ఎందుకంటే మీ గేట్వేకు అది రూట్ చేయాలని ఏ ఎగువ ప్రదాతకూ తెలియదు. అవసరంలో IPv6 ఇంటర్నెట్ వెలుపలికి వెళ్లడం ఉంటే, మీకు అవసరం దాన్ని మీ వైపు రూట్ చేసే ప్రదాత నుండి కేటాయింపు, మరియు ఇది దాని స్వంత ప్రిఫిక్స్ పరిమాణంతో వేరే నిర్మాణ నిర్ణయం.
ప్రతి అమరికకు /48 అవసరమని భావించకండి. RFC 6177 చివరి సైట్ కోసం ఒకే తప్పనిసరి పరిమాణం నుండి దూరంగా జరిగింది, సరైన పరిమాణం మీరు నిర్వహించే నెట్వర్క్ల సంఖ్యపై ఆధారపడుతుంది. మరో సంస్థ కూడా ఉపయోగించగల ప్రిఫిక్స్ను కనిపెట్టే బదులు RFC 4193 విధానంతో ULA సృష్టించండి. ఏ పరికరం కాన్ఫిగర్ కాకముందే ఫలితాన్ని చిరునామా ప్రణాళికలో రాయండి, ఎందుకంటే ఎవరూ నమోదు చేయని ప్రిఫిక్స్ ఎవరో మళ్లీ ఉపయోగించే ప్రిఫిక్స్.
ప్రిఫిక్స్ను పాత్రలుగా విభజించండి
క్రింది ఉదాహరణ fd7c:2e91:4a00::/48 ఉపయోగిస్తుంది, పట్టిక సైట్ ప్రకారం కాకుండా ప్రతి బ్లాక్ ఎక్కడ రాయబడుతుందో దాని ప్రకారం అమర్చబడింది. విలువలను నమూనాగా తీసుకోండి మరియు ఏదైనా అమలు చేయకముందే మీవి సృష్టించండి.
| Where it is written | What appears there | Block used | What it establishes |
|---|---|---|---|
| Hub wg0.conf, interface address | A single host address on the tunnel | fd7c:2e91:4a00:ff00::1/128 | The hub's own tunnel identity |
| Hub wg0.conf, Site A peer | Two ranges in one AllowedIPs line | ::2/128 and :10::/64 | That A owns its tunnel address and its LAN |
| Hub wg0.conf, Site B peer | Two ranges in one AllowedIPs line | ::3/128 and :20::/64 | That B owns its tunnel address and its LAN |
| Site A wg0.conf, interface address | A single host address on the tunnel | fd7c:2e91:4a00:ff00::2/128 | A's identity as the hub sees it |
| Site B wg0.conf, interface address | A single host address on the tunnel | fd7c:2e91:4a00:ff00::3/128 | B's identity as the hub sees it |
LAN బ్లాక్లు /64 ఎందుకంటే సాధారణ SLAAC 64-బిట్ ఇంటర్ఫేస్ గుర్తింపును ఆశిస్తుంది. LANను చిన్న బ్లాక్గా విభజించడం చాలా హోస్ట్లపై ఆ ఊహను బద్దలు కొడుతుంది, ప్రైవేట్ ప్రణాళికలో చిరునామా ఆదాకు నిర్వహణ ఖర్చు తగినది కాదు. రెండు LAN బ్లాక్లు /48 మధ్య నుండి వస్తాయి, కింది శ్రేణి తర్వాతి సైట్లకు ఖాళీగా ఉంటుంది.
టన్నెల్ చిరునామాలు పరిపాలనా నిల్వ, లింక్పై నెట్వర్క్ కాదు. ప్రతి ఇంటర్ఫేస్ దాని నుండి ఒక /128 పొందుతుంది, కాబట్టి ఏ హోస్ట్ టన్నెల్పై పంచుకున్న సబ్నెట్ను ఊహించదు మరియు అవసరం లేని చోట పొరుగు అన్వేషణ నడవదు. పాత్రలను వేరుగా ఉంచి సంస్థ చిరునామా ప్రణాళికలో నమోదు చేయండి, తర్వాతి సైట్ బ్లాక్ను మళ్లీ ఉపయోగించకుండా.
ప్రతి రూటర్కు ఒక టన్నెల్ చిరునామా ఇవ్వండి
ప్రతి రూటర్కు ఒక /128 కేటాయించి, పని చేస్తున్న హబ్ యొక్క ఇప్పటికే ఉన్న కీలు మరియు ముగింపు బిందువులను ఉంచండి. క్రింది మూడు విలువలు హోస్ట్ భాగంలో మాత్రమే భిన్నంగా ఉంటాయి.
Hub: Address = fd7c:2e91:4a00:ff00::1/128
Site A: Address = fd7c:2e91:4a00:ff00::2/128
Site B: Address = fd7c:2e91:4a00:ff00::3/128
ఈ /128 ఆ ఇంటర్ఫేస్కు కేటాయించిన ఏకైక చిరునామాను వివరిస్తుంది. పీర్ ఎన్ని గమ్యాలకు రూట్ చేయగలదో ఇది చెప్పదు, ఎందుకంటే చేరుకోవడం ఇంటర్ఫేస్ ప్రిఫిక్స్లో కాదు, AllowedIPsలో వ్యక్తమవుతుంది.
ప్రతి సైట్ రూటర్కు తన LAN బ్లాక్లో చిరునామా మరియు దాన్ని పంపిణీ చేసే మార్గం కూడా అవసరం, సాధారణంగా SLAAC కోసం రూటర్ ప్రకటనలు. WireGuard మీ తరఫున ఆ ప్రకటనలు పంపదు మరియు రెండు LANలను వంతెన చేయదు. సైట్ రూటర్ రెండు దిశల్లోనూ రూటర్.
సబ్నెట్ యాజమాన్యాన్ని AllowedIPsలో పెట్టండి
సైట్ A కోసం హబ్ పీర్ నమోదు A యొక్క టన్నెల్ చిరునామా మరియు A యొక్క LANను కలిగి ఉంది, ఆ జంటే మొత్తం యాజమాన్య ప్రకటన. ఆ పీర్ విభాగంలో మరేదీ సైట్ను వివరించాల్సిన అవసరం లేదు.
AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64
సైట్ B పీర్ నమోదు సరిపోలే జంటను కలిగి ఉంది, ఇక్కడ సమరూపత సంక్షిప్తత కంటే ముఖ్యం. రెండు పంక్తులను కలిపి చదవండి, యాజమాన్య విభజన ఒక చూపులో కనిపిస్తుంది.
AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64
ఇవి రెండు వేర్వేరు పీర్ విభాగాలు, ఒక పీర్ కోసం పోటీపడే రెండు జాబితాలు కావు. WireGuard AllowedIPsను రెండు దిశల్లోనూ ఉపయోగిస్తుంది: బయటకు వెళ్లే గమ్యానికి పీర్ను ఎంచుకుంటుంది, మరియు దాన్ని డీక్రిప్ట్ చేసిన పీర్కు కేటాయించిన పరిధికి మూలం సరిపోలని లోపలికి వచ్చే ప్యాకెట్ను తిరస్కరిస్తుంది. రెండు పీర్లకూ మొత్తం /48 ఇస్తే ఆ రెండో తనిఖీ నిష్క్రియమై, ఏ సైట్ ఏ బ్లాక్ను కలిగి ఉందో మసకబారుతుంది. ఆ భేదమే తప్పు మూల చిరునామాను నిశ్శబ్దంగా అంగీకరించకుండా కనిపించేలా చేస్తుంది.
ప్రతి సైట్కు దాని హబ్ పీర్ ద్వారా చేరుకోగల గమ్యాలు మాత్రమే అవసరం: సైట్ A హబ్ చిరునామా, సైట్ B టన్నెల్ చిరునామా మరియు B LANను జాబితా చేస్తుంది, సైట్ B వ్యతిరేక సమితిని జాబితా చేస్తుంది. జాబితాలు ఉద్దేశపూర్వకంగా అసమరూపంగా ఉంటాయి, ఎందుకంటే ప్రతి రూటర్ టోపాలజీ వేరే వైపు చూస్తుంది. రెండింటినీ చిరునామా ప్రణాళిక నుండి రాయండి, మరో సైట్ కాన్ఫిగరేషన్ నుండి కాదు, ఎందుకంటే అలా పాత పరిధి పునర్నంబరింగ్ నుండి తప్పించుకుంటుంది.
wg-quickతో ఈ పరిధులు రూట్లను కూడా సృష్టిస్తాయి. systemd-networkd లేదా చేతితో సెటప్లో సమానమైన రూట్లను మీరే జోడించండి; లేకపోతే కెర్నల్ ఎప్పుడూ పంపని ప్యాకెట్లను టన్నెల్ మోస్తుంది.
ఫార్వర్డింగ్ పూర్తి చేసి రెండు దిశలను పరీక్షించండి
హబ్పై మరియు రెండు సైట్ రూటర్లపై IPv6 ఫార్వర్డింగ్ ప్రారంభించి, ఫార్వర్డ్ విధానంలో అవసరమైన అంతర్-సైట్ సేవలను అనుమతించండి. ICMPv6 Packet Too Big సందేశాలను ఉపయోగించదగినవిగా ఉంచండి, ఎందుకంటే వాటిని పడవేయడం మార్గ MTU అన్వేషణను బద్దలు కొట్టి, అప్లికేషన్ లోపాల్లా కనిపించే పెద్ద బదిలీల ఆగుడులను కలిగిస్తుంది. ఫైర్వాల్ అనుమతి లేకుండా ఫార్వర్డ్ చేసే హబ్ రూటింగ్ మరియు టన్నెల్ మధ్య ప్యాకెట్ను పడవేస్తుంది. ఈ వైఫల్య విధానం తెలుసుకోదగినది, ఎందుకంటే టన్నెల్ నడుస్తూనే ఉంటుంది మరియు కొన్ని ప్రవాహాలు మాత్రమే చనిపోతాయి.
sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1
సైట్ A హోస్ట్ నుండి సైట్ B హోస్ట్కు, ఆపై వ్యతిరేక దిశలో పరీక్షించండి. హబ్ టన్నెల్ చిరునామాకు ping మొదటి అడుగును మాత్రమే పరీక్షిస్తుంది మరియు LAN రూట్లు తప్పుగా ఉన్నా విజయవంతమవుతుంది. ప్రణాళికను నిరూపించేది హోస్ట్-నుండి-హోస్ట్ ప్రవాహం.
బయటి WireGuard కనెక్షన్ IPv4పై నడుస్తుండగా లోపలి ట్రాఫిక్ IPv6 కావచ్చు, ఈ స్వాతంత్ర్యం వలస సమయంలో ఉపయోగకరం. తర్వాత ప్రపంచ IPv6 నిష్క్రమణ జోడిస్తే, ప్రదాత కేటాయింపు, మూల చిరునామా ఎంపిక మరియు తిరిగి రాక రూటింగ్ను కొత్త నిర్మాణ దశగా మళ్లీ పరిశీలించండి; పైన ఉన్న ప్రైవేట్ ప్రణాళిక సైట్-నుండి-సైట్ ట్రాఫిక్కు చెల్లుతుంది.