Dodajte privatni IPv6 u OpenVPN laboratorij, jednu kontrolnu točku po jednu
Zadržite vanjski transport na IPv4 i proširite unutarnji plan. Pet kontrolnih točaka: prefiksi, pomoćnik, potisak rute, prosljeđivanje i test na strani klijenta.
Već imate klijenta koji se povezuje preko IPv4 i dolazi do privatnog IPv4 radnog opterećenja iza servera. Cilj je doći do privatnog IPv6 radnog opterećenja kroz isti tunel bez diranja vanjskog transporta. Taj je redoslijed važan: vanjski put ostaje IPv4, a mijenjaju se samo unutarnji plan adresa, ruta klijenta i povratni put od servera do LAN-a. Pet kontrolnih točaka, svaka s nečim konkretnim za provjeru prije nastavka.
Kontrolna točka prva: veza koja već radi
Povežite klijenta i potvrdite IPv4 put prije nego što bilo što dodate. Tunel koji radi daje vam osnovnu liniju koja odvaja novu IPv6 grešku od stare problema s povezivanjem. Također vam kaže koju instancu servera zapravo uređujete.
Zabilježite bazen, topologiju i potisnute rute na koje se već oslanjate. IPv6 rad proširuje tu konfiguraciju; ne zamjenjuje je.
Kontrolna točka druga: odaberite unutarnje prefikse
Odaberite ULA /48 za lokaciju i izrežite dva /64 iz nje: jedan za klijente tunela, jedan za LAN segment s IPv6 radnim opterećenjem. Generirajte 40-bitni globalni ID umjesto kopiranja primjera prefiksa, i provjerite obje podmreže prema svakoj mreži koju lokacija već usmjerava:
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::1Dva neovisna /64 sprječavaju da se klijentski bazen izreže iz LAN segmenta, što je važno kasnije kada pišete povratnu rutu. Vrijednosti iznad su jedan razrađen primjer, ne prefiks za ponovnu upotrebu.
Kontrolna točka treća: dodajte pomoćnik i potisak rute
Pročitajte trenutačnu konfiguraciju servera prije nego što bilo što dopišete. Drugi primjerak postojeće direktive ne spaja se s prvim, a nastala greška imenuje direktivu, a ne IPv6. Uz postojeći IPv4 pomoćnik, dva retka ga proširuju. Svaki odgovara na drugo pitanje:
server-ipv6 fd73:93bc:b6e9:77::/64
push "route-ipv6 fd73:93bc:b6e9:60::/64"Prvi je praktični pomoćnik koji postavlja sučelje i klijentski bazen. Drugi imenuje LAN odredište do kojeg klijent treba doći. Davanje IPv6 adrese klijentu ne kaže mu koje mreže postoje iza servera, pa su potrebna oba retka.
Pomoćnik ne koegzistira sa statičnim IPv6 bazenom ni s nopool. Ako implementacija namjerno dodjeljuje adrese statički, zadržite tu politiku i eksplicitno dizajnirajte IPv6 ekvivalent umjesto brisanja politike da bi se uklopila u primjer.
Kontrolna točka četvrta: prosljeđivanje i ruta odgovora
Uključite IPv6 prosljeđivanje na serveru kroz vlastitog vlasnika konfiguracije sustava, a ne jednokratnim zapisom u vrijeme izvođenja koji ćete zaboraviti. Oblik u vrijeme izvođenja koristan je za brzi test. Trajna konfiguracija pripada u drop-in datoteku koju čita mrežni vlasnik distribucije:
sysctl -w net.ipv6.conf.all.forwarding=1Prosljeđivanje mijenja IPv6 ponašanje hosta mimo usmjeravanja paketa. Host koji je kao klijent prihvaćao Router Advertisements prestaje to činiti na isti način kada počne prosljeđivati. Zato stroj čiji IPv6 uplink ovisi o RA treba jasan plan za taj uplink.
Zatim dajte LAN-u rutu natrag do bazena tunela. IPv6 gateway radnog opterećenja je LAN usmjerivač, a ne VPN server, pa ruta pripada tom usmjerivaču i pokazuje na LAN adresu servera:
ip -6 route add fd73:93bc:b6e9:77::/64 via fd73:93bc:b6e9:60::1Zadržite ICMPv6 tipove koje veza treba, uključujući povratnu informaciju o MTU puta. IPv4 firewall pravilo ne podrazumijeva IPv6 pravilo, a potpuno blokiranje IPv6 kvari otkrivanje susjeda na način koji izgleda kao greška usmjeravanja.
Kontrolna točka peta: pročitajte klijenta, pa testirajte
Ponovno povežite klijenta i pročitajte adrese koje je doista dobio umjesto da ih izvodite iz pomoćne adrese servera. Popis sučelja pokazuje obje obitelji na istom uređaju:
ip -6 addr show tun0
ip -6 route get fd73:93bc:b6e9:60::20Ruta koja odabere tunel dokazuje da klijent zna kamo poslati paket. Ne dokazuje da ga server prosljeđuje, da LAN usmjerivač ima povratnu rutu ili da aplikacija smije odgovoriti.
Testirajte samu aplikaciju preko svake obitelji redom, pa ponovite nakon ponovnog povezivanja i nakon restarta hosta. Ruta ili sysctl koji preživi samo do restarta je test, a ne dizajn.
Objavite AAAA zapis tek kada IPv6 put odgovori od početka do kraja. DNS upitan preko IPv4 još može vratiti IPv6 adresu, pa razrješivo ime nije dokaz da nešto sluša. RFC 4193 ULA smjernice pokrivaju generiranje globalnog ID-a koji čini ove prefikse vašima, a ne kopijom.