Pievienot privātu IPv6 OpenVPN laboratorijai, pa vienam kontrolpunktam
Atstājiet ārējo transportu uz IPv4 un paplašiniet iekšējo plānu. Pieci kontrolpunkti: prefiksi, palīgs, maršruta grūdiens, pārsūtīšana un klienta tests.
Jums jau ir klients, kas savienojas pa IPv4 un sasniedz privātu IPv4 darba slodzi aiz servera. Mērķis ir sasniegt privātu IPv6 darba slodzi pa to pašu tuneli, neaiztiekot ārējo transportu. Šī secība ir svarīga: ārējais ceļš paliek IPv4, un mainās tikai iekšējais adrešu plāns, klienta maršruts un atgriešanās ceļš no servera uz LAN. Pieci kontrolpunkti, katram ir kaut kas konkrēts, ko apskatīt pirms tālākas virzīšanās.
Pirmais kontrolpunkts: savienojums, kas jau darbojas
Pievienojiet klientu un apstipriniet IPv4 ceļu, pirms kaut ko pievienojat. Strādājošs tunelis dod bāzes līniju, kas atdala jaunu IPv6 kļūdu no vecas savienojuma problēmas. Tas arī parāda, kuru servera instanci jūs faktiski rediģējat.
Pierakstiet baseinu, topoloģiju un grūdienos nosūtītos maršrutus, uz kuriem jau paļaujaties. IPv6 darbs paplašina šo konfigurāciju; tas to neaizstāj.
Otrais kontrolpunkts: izvēlieties iekšējos prefiksus
Izvēlieties ULA /48 vietnei un izgrieziet divus /64: vienu tuneļa klientiem, vienu LAN segmentam ar IPv6 darba slodzi. Ģenerējiet 40 bitu globālo ID, nevis kopējiet piemēra prefiksu, un pārbaudiet abus apakštīklus pret katru tīklu, ko vietne jau maršrutē:
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::1Divas neatkarīgas /64 neļauj klientu baseinam tikt izgrieztam no LAN segmenta, kas ir svarīgi vēlāk, rakstot atgriešanās maršrutu. Iepriekš minētās vērtības ir viens izstrādāts piemērs, nevis prefikss atkārtotai lietošanai.
Trešais kontrolpunkts: pievienojiet palīgu un maršruta grūdienu
Izlasiets pašreizējo servera konfigurāciju, pirms kaut ko pievienojat. Otra esošās direktīvas kopija nesaplūst ar pirmo, un radusies kļūda nosauc direktīvu, nevis IPv6. Ar esošo IPv4 palīgu divas rindas to paplašina. Katra atbild uz citu jautājumu:
server-ipv6 fd73:93bc:b6e9:77::/64
push "route-ipv6 fd73:93bc:b6e9:60::/64"Pirmā ir ērts palīgs, kas konfigurē interfeisu un klientu baseinu. Otrā nosauc LAN galamērķi, kas klientam jāsasniedz. Klientam piešķirot IPv6 adresi, tam netiek pateikts, kādi tīkli ir aiz servera, tāpēc vajadzīgas abas rindas.
Palīgs nesadzīvo ar statisku IPv6 baseinu vai ar nopool. Ja izvietojums apzināti piešķir adreses statiski, saglabājiet šo politiku un skaidri izprojektējiet IPv6 ekvivalentu, nevis dzēsiet politiku, lai tā atbilstu piemēram.
Ceturtais kontrolpunkts: pārsūtīšana un atbildes maršruts
Ieslēdziet IPv6 pārsūtīšanu serverī caur pašas sistēmas konfigurācijas īpašnieku, nevis ar vienreizēju izpildlaika ierakstu, ko aizmirsīsiet. Izpildlaika forma ir noderīga ātram testam. Pastāvīgā konfigurācija pieder drop-in failam, ko lasa distribūcijas tīkla īpašnieks:
sysctl -w net.ipv6.conf.all.forwarding=1Pārsūtīšana maina hosta IPv6 uzvedību vairāk nekā pakešu maršrutēšanu. Hosts, kas kā klients pieņēma maršrutētāja paziņojumus, pārstāj to darīt tāpat, tiklīdz sāk pārsūtīt. Tāpēc mašīnai, kuras IPv6 augšupceļš ir atkarīgs no RA, šim ceļam nepieciešams skaidrs plāns.
Pēc tam dodiet LAN tīklam maršrutu atpakaļ uz tuneļa baseinu. Darba slodzes IPv6 vārteja ir LAN maršrutētājs, nevis VPN serveris, tāpēc maršruts pieder šim maršrutētājam un norāda uz servera LAN adresi:
ip -6 route add fd73:93bc:b6e9:77::/64 via fd73:93bc:b6e9:60::1Saglabājiet ICMPv6 tipus, kas nepieciešami saitei, tostarp ceļa MTU atgriezenisko saiti. IPv4 ugunsmūra noteikums nenozīmē IPv6 noteikumu, un pilnīga IPv6 bloķēšana sabojā kaimiņu atklāšanu tā, ka tas izskatās pēc maršrutēšanas kļūmes.
Piektais kontrolpunkts: izlasiet klientu, tad testējiet
Atkārtoti pievienojiet klientu un izlasiet adreses, ko tas patiešām saņēma, nevis izseciniet tās no servera palīga adreses. Interfeisu saraksts rāda abas saimes tajā pašā ierīcē:
ip -6 addr show tun0
ip -6 route get fd73:93bc:b6e9:60::20Maršruts, kas izvēlas tuneli, pierāda, ka klients zina, kur sūtīt paketi. Tas nepierāda, ka serveris to pārsūta, ka LAN maršrutētājam ir atgriešanās maršruts vai ka lietojumprogrammai atļauts atbildēt.
Testējiet pašu lietojumprogrammu pārmaiņus pa katru saimi, pēc tam atkārtojiet pēc atkārtotas pievienošanās un pēc hosta restartēšanas. Maršruts vai sysctl, kas saglabājas tikai līdz restartam, ir tests, nevis projekts.
Publicējiet AAAA ierakstu tikai tad, kad IPv6 ceļš atbild no gala līdz galam. DNS, kas pieprasīts pa IPv4, joprojām var atgriezt IPv6 adresi, tāpēc atrisināms nosaukums nav pierādījums, ka kaut kas klausās. RFC 4193 ULA norādījumi aptver globālā ID ģenerēšanu, kas šos prefiksus padara par jūsējiem, nevis kopiju.