Dy LAN, një hub WireGuard dhe një plan adresash IPv6 që duhet t'u përgjigjet tre pyetjeve të ndara: cili prefiks, cila adresë i përket secilit router dhe cili partner zotëron cilën nënrrjet. Një gabim në secilën prej tyre prodhon një tunel që bën shtrëngimin e duarve dhe nuk rrugëton asgjë. Plani më poshtë kalon nëpër një dizajn privat me dy vende në atë rend. Ai qëllimisht nuk ofron akses në internet përmes IPv6.

Vendosni për çfarë shërben prefiksi

Një prefiks unik lokal nga fd00::/8 është zgjedhja e natyrshme kur qëllimi është arritshmëria private midis vendeve. Mbetet i qëndrueshëm pavarësisht se cili ofrues shërben çdo vendndodhje dhe nuk njoftohet në tabelën globale të rrugëtimit, kështu që nuk mund të rrjedhë numërimin tuaj të brendshëm në internet.

E njëjta veti është kufizimi. Një ULA nuk jep asnjë rrugë kthimi publike, sepse asnjë ofrues i sipërm nuk e di se duhet ta rrugëtojë drejt portës tuaj. Nëse kërkesa përfshin dalje interneti përmes IPv6, ju duhet një alokim nga një ofrues që e rrugëton drejt jush, dhe ky është një vendim dizajni i veçantë me madhësinë e vet të prefiksit.

Mos supozoni se çdo vendosje ka nevojë për /48. RFC 6177 u largua nga një madhësi e detyrueshme për vendin fundor, dhe madhësia e duhur varet nga numri i rrjeteve që do të operoni. Gjeneroni ULA me procedurën RFC 4193 në vend që të shpikni një prefiks që mund ta përdorë edhe një organizatë tjetër. Shkruajeni rezultatin në planin e adresave përpara se të konfigurohet çdo pajisje, sepse një prefiks që askush nuk e regjistroi është një prefiks që dikush do ta ripërdorë.

Ndajeni prefiksin në role

Shembulli më poshtë përdor fd7c:2e91:4a00::/48, dhe tabela është organizuar sipas vendit ku shkruhet secili bllok, jo sipas vendndodhjes. Trajtoni vlerat si mostër dhe gjeneroni tuajat përpara se të vendosni ndonjë gjë.

Where it is writtenWhat appears thereBlock usedWhat it establishes
Hub wg0.conf, interface addressA single host address on the tunnelfd7c:2e91:4a00:ff00::1/128The hub's own tunnel identity
Hub wg0.conf, Site A peerTwo ranges in one AllowedIPs line::2/128 and :10::/64That A owns its tunnel address and its LAN
Hub wg0.conf, Site B peerTwo ranges in one AllowedIPs line::3/128 and :20::/64That B owns its tunnel address and its LAN
Site A wg0.conf, interface addressA single host address on the tunnelfd7c:2e91:4a00:ff00::2/128A's identity as the hub sees it
Site B wg0.conf, interface addressA single host address on the tunnelfd7c:2e91:4a00:ff00::3/128B's identity as the hub sees it

Blloqet LAN janë /64 sepse SLAAC i zakonshëm pret një identifikues ndërfaqeje 64-bit. Ndarja e një LAN në një bllok më të vogël e thyen atë supozim në shumicën e hosteve, dhe kostoja operative nuk ia vlen kursimi i adresave në një plan privat. Të dy blloqet LAN vijnë nga mesi i /48, duke lënë intervalin e ulët të lirë për vende të mëvonshme.

Adresat e tunelit janë një rezervë administrative, jo një rrjet në lidhje. Çdo ndërfaqe merr një /128 prej tij, kështu që asnjë host nuk supozon një nënrrjet të përbashkët në tunel dhe zbulimi i fqinjëve nuk ekzekutohet atje ku nuk nevojitet. Mbani rolet të ndara dhe regjistrojini në planin e adresave të organizatës, që një vend i mëvonshëm të mos ripërdorë një bllok.

Jepini çdo router një adresë tuneli

Caktoni një /128 për router dhe mbani çelësat dhe pikat fundore ekzistuese të hubit që funksionon. Tre vlerat më poshtë ndryshojnë vetëm në pjesën e hostit.

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

Kjo /128 përshkruan adresën e vetme të caktuar për atë ndërfaqe. Nuk thotë asgjë për sa destinacione partneri mund të rrugëtojë, sepse arritshmëria shprehet në AllowedIPs dhe jo në prefiksin e ndërfaqes.

Çdo router vendi ka nevojë gjithashtu për një adresë në bllokun e vet LAN dhe për një mënyrë për ta shpërndarë, zakonisht njoftime router për SLAAC. WireGuard nuk i dërgon ato njoftime për ju dhe nuk i urëzon dy LAN-et. Routeri i vendit është router në të dy drejtimet.

Vendosni pronësinë e nënrrjetit në AllowedIPs

Zëri i partnerit të hubit për Vendin A zotëron adresën e tunelit të A dhe LAN-in e A, dhe ky çift është e gjithë deklarata e pronësisë. Asgjë tjetër në atë seksion partneri nuk duhet të përshkruajë vendin.

AllowedIPs = fd7c:2e91:4a00:ff00::2/128, fd7c:2e91:4a00:10::/64

Zëri i partnerit për Vendin B zotëron çiftin përkatës, dhe simetria këtu ka më shumë rëndësi se shkurtësia. Lexoni dy rreshtat bashkë dhe ndarja e pronësisë bëhet e dukshme me një shikim.

AllowedIPs = fd7c:2e91:4a00:ff00::3/128, fd7c:2e91:4a00:20::/64

Këto janë dy seksione partneri të ndara, jo dy lista që konkurrojnë për një partner. WireGuard përdor AllowedIPs në të dy drejtimet: zgjedh partnerin për një destinacion dalës dhe refuzon një paketë hyrëse, burimi i së cilës nuk përputhet me intervalin e caktuar për partnerin që e deshifroi. Të japësh të gjithë /48 për të dy partnerët do të çaktivizonte atë kontroll të dytë dhe do të turbullonte cili vend zotëron cilin bllok. Pikërisht ky dallim e bën një adresë burimi të gabuar të dukshme në vend që të pranohet në heshtje.

Çdo vend ka nevojë vetëm për destinacionet e arritshme përmes partnerit të vet të hubit: Vendi A rendit adresën e hubit, adresën e tunelit të Vendit B dhe LAN-in e B, dhe Vendi B rendit grupin e kundërt. Listat janë qëllimisht asimetrike, sepse çdo router sheh një anë tjetër të topologjisë. Shkruajini të dyja nga plani i adresave dhe jo nga konfigurimi i vendit tjetër, sepse kështu një interval i vjetëruar i mbijeton rinumerimit.

Me wg-quick, këto intervale krijojnë gjithashtu rrugë. Me systemd-networkd ose një konfigurim manual, shtojini vetë rrugët ekuivalente; përndryshe tuneli mban paketa që bërthama nuk i dërgon kurrë në të.

Përfundoni përcjelljen dhe provoni të dy drejtimet

Aktivizoni përcjelljen IPv6 në hub dhe në të dy routerët e vendeve, dhe lejoni shërbimet e nevojshme midis vendeve në politikën e përcjelljes. Mbani mesazhet ICMPv6 Packet Too Big të përdorshme, sepse hedhja e tyre prish zbulimin e MTU-së së rrugës dhe prodhon bllokime në transferime të mëdha që duken si defekte aplikacioni. Një hub që përcjell pa lejen e murit të zjarrit e hedh paketën midis rrugëtimit dhe tunelit. Ky modalitet dështimi ia vlen të njihet, sepse tuneli mbetet aktiv dhe vdesin vetëm disa flukse.

sysctl net.ipv6.conf.all.forwarding
ip -6 route
ping -6 -c 3 fd7c:2e91:4a00:20::1

Provoni nga një host në Vendin A në një host në Vendin B dhe më pas në drejtimin e kundërt. Një ping drejt adresës së tunelit të hubit ushtron vetëm kërcimin e parë dhe do të kalojë edhe kur rrugët LAN janë të gabuara. Fluksi host-për-host është ai që vërteton planin.

Lidhja e jashtme WireGuard mund të qarkullojë mbi IPv4 ndërsa trafiku i brendshëm është IPv6, dhe kjo pavarësi është e dobishme gjatë migrimit. Nëse më vonë shtohet dalje globale IPv6, rishikoni alokimin e ofruesit, zgjedhjen e adresës së burimit dhe rrugëtimin e kthimit si një hap të ri dizajni; plani privat më sipër mbetet i vlefshëm për trafikun midis vendeve.

Artikuj të ngjashëm