Jau turite klientą, kuris jungiasi per IPv4 ir pasiekia privatų IPv4 darbų krūvį už serverio. Tikslas – pasiekti privatų IPv6 darbų krūvį tuo pačiu tuneliu neliečiant išorinio transporto. Ši tvarka svarbi: išorinis kelias lieka IPv4, o keičiasi tik vidinis adresų planas, kliento maršrutas ir grįžimo kelias iš serverio į LAN. Penki kontroliniai taškai, kiekvienas su konkrečiu dalyku, į kurį reikia pažiūrėti prieš einant toliau.

Pirmas kontrolinis taškas: ryšys, kuris jau veikia

Prijunkite klientą ir patvirtinkite IPv4 kelią prieš ką nors pridėdami. Veikiantis tunelis suteikia bazinę liniją, kuri atskiria naują IPv6 klaidą nuo senos ryšio problemos. Jis taip pat pasako, kurią serverio kopiją iš tikrųjų redaguojate.

Užsirašykite baseiną, topologiją ir stumiamus maršrutus, kuriais jau remiatės. IPv6 darbas praplečia tą konfigūraciją; jos nepakeičia.

Antras kontrolinis taškas: pasirinkite vidinius prefiksus

Pasirinkite ULA /48 svetainei ir išpjaukite du /64: vieną tunelio klientams, vieną LAN segmentui su IPv6 darbų krūviu. Generuokite 40 bitų pasaulinį ID, o ne kopijuokite pavyzdinį prefiksą, ir patikrinkite abu potinklius pagal kiekvieną tinklą, kurį svetainė jau maršrutizuoja:

Outer transport: IPv4 OpenVPN UDP
IPv4 pool:       10.90.0.0/24
IPv6 VPN pool:   fd73:93bc:b6e9:77::/64
IPv6 LAN:        fd73:93bc:b6e9:60::/64
Server LAN IPv6: fd73:93bc:b6e9:60::1

Dvieji nepriklausomi /64 neleidžia klientų baseinui būti išpjautam iš LAN segmento, o tai svarbu vėliau rašant grįžimo maršrutą. Aukščiau pateiktos reikšmės yra vienas išspręstas pavyzdys, o ne prefiksas, kurį reikia naudoti pakartotinai.

Trečias kontrolinis taškas: pridėkite pagalbininką ir maršruto stūmimą

Perskaitykite dabartinę serverio konfigūraciją prieš ką nors pridėdami. Antra esamos direktyvos kopija nesusilieja su pirmąja, o atsiradusi klaida įvardija direktyvą, o ne IPv6. Esant dabartiniam IPv4 pagalbininkui, dvi eilutės jį praplečia. Kiekviena atsako į kitą klausimą:

server-ipv6 fd73:93bc:b6e9:77::/64
push "route-ipv6 fd73:93bc:b6e9:60::/64"

Pirmoji yra patogus pagalbininkas, kuris nustato sąsają ir klientų baseiną. Antroji įvardija LAN tikslą, kurį klientas turi pasiekti. Suteikus klientui IPv6 adresą, jam nepasakoma, kokie tinklai yra už serverio, todėl reikia abiejų eilučių.

Pagalbininkas nesuderinamas su statiniu IPv6 baseinu ar su nopool. Jei diegimas sąmoningai skiria adresus statiškai, laikykitės šios politikos ir aiškiai suprojektuokite IPv6 atitikmenį, o ne trinkite politiką, kad ji tilptų į pavyzdį.

Ketvirtas kontrolinis taškas: persiuntimas ir atsakymo maršrutas

Įjunkite IPv6 persiuntimą serveryje per paties sistemos konfigūracijos savininką, o ne vienkartiniu vykdymo metu įrašu, kurį pamiršite. Vykdymo forma naudinga greitam testui. Nuolatinė konfigūracija priklauso drop-in failui, kurį skaito distributyvo tinklo savininkas:

sysctl -w net.ipv6.conf.all.forwarding=1

Persiuntimas keičia hosto IPv6 elgseną ne tik maršrutizuodamas paketus. Hostas, kuris kaip klientas priimdavo maršrutizatoriaus skelbimus, nustoja tai daryti taip pat, kai pradeda persiųsti. Todėl mašina, kurios IPv6 išorinis kanalas priklauso nuo RA, tam kanalui reikia aiškaus plano.

Tada suteikite LAN tinklui maršrutą atgal į tunelio baseiną. Darbų krūvio IPv6 šliuzas yra LAN maršrutizatorius, o ne VPN serveris, todėl maršrutas priklauso tam maršrutizatoriui ir rodo į serverio LAN adresą:

ip -6 route add fd73:93bc:b6e9:77::/64 via fd73:93bc:b6e9:60::1

Išsaugokite ICMPv6 tipus, kurių reikia grandžiai, įskaitant kelio MTU grįžtamąjį ryšį. IPv4 ugniasienės taisyklė nereiškia IPv6 taisyklės, o visiškas IPv6 blokavimas sugadina kaimynų aptikimą taip, kad atrodo kaip maršrutizavimo gedimas.

Penktas kontrolinis taškas: perskaitykite klientą, tada testuokite

Iš naujo prijunkite klientą ir perskaitykite adresus, kuriuos jis iš tikrųjų gavo, o ne spėkite juos iš serverio pagalbininko adreso. Sąsajų sąrašas rodo abi šeimas tame pačiame įrenginyje:

ip -6 addr show tun0
ip -6 route get fd73:93bc:b6e9:60::20

Maršrutas, kuris pasirenka tunelį, įrodo, kad klientas žino, kur siųsti paketą. Jis neįrodo, kad serveris jį persiunčia, kad LAN maršrutizatorius turi grįžimo maršrutą arba kad programai leidžiama atsakyti.

Testuokite pačią programą per kiekvieną šeimą paeiliui, tada pakartokite po pakartotinio prisijungimo ir po hosto paleidimo iš naujo. Maršrutas ar sysctl, kuris išlieka tik iki paleidimo iš naujo, yra testas, o ne projektas.

Skelbkite AAAA įrašą tik tada, kai IPv6 kelias atsako nuo galo iki galo. DNS, užklaustas per IPv4, vis dar gali grąžinti IPv6 adresą, todėl išsprendžiamas vardas nėra įrodymas, kad kažkas klausosi. RFC 4193 ULA gairės apima pasaulinio ID generavimą, kuris šiuos prefiksus daro jūsų, o ne kopija.

Susiję straipsniai