Ìṣètò IPv6 fún ibùdó àárín WireGuard pẹ̀lú ojú-ìlú méjì: àfọ̀mọ́, ẹlẹgbẹ́, ọ̀nà
Ṣiṣẹ́ lórí ibùdó àárín IPv6 àdáni fún LAN méjì: yan àfọ̀mọ́ kan, pa àwọn àdírẹ́sì ọ̀nà mọ́, lẹ́yìn náà jẹ́ kí AllowedIPs sọ ẹlẹgbẹ́ wo ni ó ni subnet wo.
LAN méjì, ibùdó àárín WireGuard kan àti ètò àdírẹ́sì IPv6 kan tí ó gbọ́dọ̀ dáhùn àwọn ìbéèrè mẹ́ta ọ̀tọ̀ọ̀tọ̀: àfọ̀mọ́ wo, àdírẹ́sì wo ni ó jẹ́ ti router kọ̀ọ̀kan, àti ẹlẹgbẹ́ wo ni ó ni subnet wo. Bí ọ̀kan nínú wọn bá ṣe àṣìṣe, ọ̀nà abẹ́lẹ̀ kan yóò wáyé tí yóò ṣe ìfọwọ́sowọ́pọ̀ ṣùgbọ́n tí kò ní ṣe ọ̀nà kankan. Ètò tí ó wà nísàlẹ̀ yìí ń tẹ̀lé àwòrán àdáni ti ojú-ìlú méjì ní ọ̀nà yẹn. Ó mọ̀ọ́mọ̀ kò pèsè ànfààní Íńtánẹ́ẹ̀tì IPv6.
Pinnu ohun tí àfọ̀mọ́ náà wà fún
Àfọ̀mọ́ agbègbè àkànṣe láti fd00::/8 ni yíyàn àdánidá nígbà tí èròjà ni ìwọlé àdáni láàárín àwọn ojú-ìlú. Ó dúró ṣinṣin láìka ISP wo ni ó ń ṣe ìsìn fún ibi kọ̀ọ̀kan, a kò sì kéde rẹ̀ nínú tábìlì ọ̀nà àgbáyé, nítorí náà kò lè da nọ́mbà inú rẹ sí Íńtánẹ́ẹ̀tì.
Ànímọ́ kan náà ni ààlà. ULA kò fúnni ní ọ̀nà ìpadàbọ̀ gbogbogbòò, nítorí kò sí olùpèsè tí ó wà lókè tí ó mọ̀ pé kí ó ṣe ọ̀nà rẹ̀ sí ẹnubodè rẹ. Tí ìbéèrè bá ní ìjáde Íńtánẹ́ẹ̀tì IPv6, ohun tí o nílò ni ìpín láti ọ̀dọ̀ olùpèsè tí ó ń ṣe ọ̀nà rẹ̀ sí ọ̀dọ̀ rẹ, àti ìyẹn ni ìpinnu àwòrán ọ̀tọ̀ọ̀tọ̀ pẹ̀lú ìwọ̀n àfọ̀mọ́ tirẹ̀.
Má ṣe gbà pé ìmúṣẹ kọ̀ọ̀kan nílò /48. RFC 6177 yí padà kúrò nínú ìwọ̀n àṣẹ kan ṣoṣo fún ojú-ìlú ìparí, ìwọ̀n tí ó tọ́ sì ń tẹ̀lé iye àwọn nẹ́tíwọ́kì tí ìwọ yóò ṣiṣẹ́. Ṣẹ̀dá ULA pẹ̀lú ìlànà RFC 4193 dípò dídá àfọ̀mọ́ kan tí àjọ mìíràn lè lò pẹ̀lú. Kọ àbájáde náà sínú ètò àdírẹ́sì kí a tó ṣètò ẹ̀rọ kankan, nítorí àfọ̀mọ́ tí ẹnìkankan kò kọ sílẹ̀ ni àfọ̀mọ́ tí ẹnìkan yóò tún lò.
Pín àfọ̀mọ́ náà sí àwọn ipa
Àpẹẹrẹ tí ó wà nísàlẹ̀ ń lò fd7c:2e91:4a00::/48, tábìlì sì wà ní ìtòlẹ́sẹẹsẹ nípa ibi tí a ti kọ bulọ́ọ̀kì kọ̀ọ̀kan, kì í ṣe nípa ojú-ìlú. Wo àwọn iye gẹ́gẹ́ bí àpẹẹrẹ kí o sì ṣẹ̀dá tìrẹ kí o tó mú ohunkóhun ṣiṣẹ́.
| 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 |
Àwọn bulọ́ọ̀kì LAN jẹ́ /64 nítorí SLAAC àṣà retí ìdánimọ̀ ìkápá 64-bítì. Pínpín LAN sí bulọ́ọ̀kì kéré tú ìdánilójú yẹn já ní ọ̀pọ̀lọpọ̀ àlejò, ìnáwó iṣẹ́ kò sì tọ́ sí fífipamọ́ àdírẹ́sì nínú ètò àdáni. Àwọn bulọ́ọ̀kì LAN méjèèjì wá láti àárín /48, tí ó fi ìpele kéré sílẹ̀ fún àwọn ojú-ìlú tí ó ń bọ̀.
Àwọn àdírẹ́sì ọ̀nà jẹ́ ìkójọpọ̀ ìṣàkóso, kì í ṣe nẹ́tíwọ́kì lórí ìsopọ̀. Ìkápá kọ̀ọ̀kan gba /128 kan láti inú rẹ̀, nítorí náà kò sí àlejò tí ó ro pé subnet pínpín wà lórí ọ̀nà àti pé ìwádìí aládùúgbò kò ṣiṣẹ́ níbi tí kò ti pọn dandan. Jẹ́ kí àwọn ipa yàtọ̀ kí o sì kọ wọ́n sínú ètò àdírẹ́sì àjọ náà kí ojú-ìlú tí ó ń bọ̀ má ba à tún bulọ́ọ̀kì lò.
Fún router kọ̀ọ̀kan ní àdírẹ́sì ọ̀nà kan
Yàn /128 kan fún router kọ̀ọ̀kan kí o sì pa kọ́kọ́rọ́ àti ibi-ìparí tí ó wà tẹ́lẹ̀ ti ibùdó àárín tí ń ṣiṣẹ́ mọ́. Àwọn iye mẹ́ta tí ó wà nísàlẹ̀ yàtọ̀ nínú apá àlejò nìkan.
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
Yìí /128 ṣàpèjúwe àdírẹ́sì kan ṣoṣo tí a yàn fún ìkápá yẹn. Kò sọ nǹkan kan nípa iye ibi tí ẹlẹgbẹ́ lè ṣe ọ̀nà sí, nítorí pé a ń fi ìwọlé hàn nínú AllowedIPs kì í ṣe nínú àfọ̀mọ́ ìkápá.
Router ojú-ìlú kọ̀ọ̀kan tún nílò àdírẹ́sì nínú bulọ́ọ̀kì LAN rẹ̀ àti ọ̀nà láti pín in, ní ọ̀pọ̀ ìgbà àkéde router fún SLAAC. WireGuard kò fi àwọn àkéde yẹn ránṣẹ́ rọ́pò rẹ, kò sì so LAN méjèèjì pọ̀. Router ojú-ìlú jẹ́ router ní ẹ̀gbẹ́ méjèèjì.
Fi ẹ̀tọ́ subnet sínú AllowedIPs
Àkọsílẹ̀ ẹlẹgbẹ́ ibùdó àárín fún Ojú-ìlú A ni ó ni àdírẹ́sì ọ̀nà A àti LAN A, àti pé pérépéré yẹn ni gbogbo ìkéde ẹ̀tọ́. Kò sí nǹkan mìíràn nínú apá ẹlẹgbẹ́ yẹn tí ó nílò láti ṣàpèjúwe ojú-ìlú.
AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64
Àkọsílẹ̀ ẹlẹgbẹ́ fún Ojú-ìlú B ni ó ni pérépéré tí ó bá a mu, ìbádọ́gba sì ṣe pàtàkì níbí ju sísọ kúkúrú. Ka àwọn ìlà méjèèjì papọ̀, ìpín ẹ̀tọ́ yóò sì hàn ní ojú kan.
AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64
Ìwọ̀nyí ni apá ẹlẹgbẹ́ méjì ọ̀tọ̀ọ̀tọ̀, kì í ṣe àkójọ méjì tí ń díje fún ẹlẹgbẹ́ kan. WireGuard ń lo AllowedIPs ní ẹ̀gbẹ́ méjèèjì: ó yan ẹlẹgbẹ́ fún ibi tí ó ń jáde, ó sì kọ pákẹ́tì tí ó ń wọlé tí orísun rẹ̀ kò bá ìdíwọ̀n tí a yàn fún ẹlẹgbẹ́ tí ó yọ̀ǹda rẹ̀ mu. Fífún ẹlẹgbẹ́ méjèèjì ní gbogbo /48 yóò pa ìwádìí kejì yẹn, yóò sì ṣe ojú-ìlú tí ó ni bulọ́ọ̀kì wo ní ṣíṣu. Ìyàtọ̀ yẹn ni ó ń jẹ́ kí àdírẹ́sì orísun tí kò tọ́ hàn dípò kíkó gbà ní ìdákẹ́jẹ́ẹ́.
Ojú-ìlú kọ̀ọ̀kan nílò àwọn ibi tí ó ṣe é dé gbà nípasẹ̀ ẹlẹgbẹ́ ibùdó àárín rẹ̀ nìkan: Ojú-ìlú A ṣe àkójọ àdírẹ́sì ibùdó àárín, àdírẹ́sì ọ̀nà Ojú-ìlú B àti LAN B, Ojú-ìlú B sì ṣe àkójọ ìkójọpọ̀ òdìkejì. Àwọn àkójọ yàtọ̀ mọ̀ọ́mọ̀, nítorí router kọ̀ọ̀kan ń rí ẹ̀gbẹ́ ọ̀tọ̀ọ̀tọ̀ ti topology. Kọ àwọn méjèèjì láti ètò àdírẹ́sì kì í ṣe láti ìṣètò ojú-ìlú kejì, nítorí bẹ́ẹ̀ ni ìdíwọ̀n àtijọ́ ṣe ń là kọjá àtúnṣe-nọ́mbà.
Pẹ̀lú wg-quick, àwọn ìdíwọ̀n wọ̀nyí tún dá ọ̀nà. Pẹ̀lú systemd-networkd tàbí ìṣètò àfọwọ́, fi àwọn ọ̀nà tí ó dọ́gba kúnra rẹ; bí bẹ́ẹ̀ kọ́, ọ̀nà abẹ́lẹ̀ yóò gbé àwọn pákẹ́tì tí kẹ́nẹ́lì kò fi ránṣẹ́ sínú rẹ̀ rárá.
Parí gbígbé jáde kí o sì dán ẹ̀gbẹ́ méjèèjì wò
Mú gbígbé jáde IPv6 ṣiṣẹ́ lórí ibùdó àárín àti lórí router ojú-ìlú méjèèjì, kí o sì gba àwọn iṣẹ́ àárín ojú-ìlú tí ó pọn dandan láàyè nínú ìlànà gbígbé jáde. Pa àwọn ìfiránṣẹ́ ICMPv6 Packet Too Big mọ́ ní àìlòdì sí, nítorí fífi wọ́n nù ń tú ìwádìí MTU ọ̀nà já, ó sì ń dá àwọn ìdádúró gbígbé ńlá tí ó dàbí àṣìṣe ohun èlò. Ibùdó àárín tí ó ń gbé jáde láìsí àṣẹ ògiri iná yóò fi pákẹ́tì nù láàárín ọ̀nà àti ọ̀nà abẹ́lẹ̀. Ipò ìkùnà yẹn yẹ kí a mọ̀, nítorí ọ̀nà abẹ́lẹ̀ wà ní ìdúró àti pé àwọn ìṣàn kan ṣoṣo ni ó ń kú.
sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1
Dán wò láti àlejò kan ní Ojú-ìlú A sí àlejò kan ní Ojú-ìlú B, lẹ́yìn náà ní ẹ̀gbẹ́ òdìkejì. Ping sí àdírẹ́sì ọ̀nà ibùdó àárín ń dán ìgbésẹ̀ àkọ́kọ́ nìkan wò, yóò sì ṣàṣeyọrí kódà nígbà tí àwọn ọ̀nà LAN kò tọ́. Ìṣàn àlejò-sí-àlejò ni ó ń fi ètò náà hàn.
Ìsopọ̀ WireGuard ìta lè ṣiṣẹ́ lórí IPv4 nígbà tí ìrìn àjò inú jẹ́ IPv6, ìyàsọ́tọ̀ yẹn sì wúlò nígbà ìṣíkiri. Tí a bá fi ìjáde IPv6 àgbáyé kún un lẹ́yìn náà, ṣàyẹ̀wò ìpín olùpèsè, yíyan àdírẹ́sì orísun àti ọ̀nà ìpadàbọ̀ gẹ́gẹ́ bí ìgbésẹ̀ àwòrán tuntun; ètò àdáni tí ó wà lókè ṣì wà ní ìwúlò fún ìrìn àjò láàárín àwọn ojú-ìlú.