IPv6 haru eesliide: iroute-ipv6 või route-ipv6 serveris?
route-ipv6 viib eesliite serveri kerneli; iroute-ipv6 määrab kliendi, kes seda kannab. Mõlemad kuuluvad serverisse, mis selle kliendi lõpetab.
Kaks peaaegu sama nimega direktiivi esinevad igas toimivas näites, ja ühe kopeerimine ilma teiseta annab tunneli, mis näeb õige välja ja kaotab haru eesliite vaikselt. Need teevad erinevat tööd sama piiri eri külgedel: üks õpetab serveri kernelile, kus eesliide asub, ja teine ütleb OpenVPN-ile, milline autenditud klient seda kannab. Kui mõlemad on õiged, voolab eesliide; kui üks on õige, on pakettidel marsruut, aga mitte omanikku.
Kaks direktiivi, kaks erinevat tööd
route-ipv6 on tavaline marsruudi paigaldus: server lisab kerneli marsruudi, mis osutab eesliite oma tunneliliidesele. iroute-ipv6 kuulub kliendipõhisesse konteksti ja deklareerib sisemise omanduse, nii et deemon teab, et selle eesliite liiklus tuleks saata kindlale kliendile, mitte sellele peerile, mille kerneli marsruut juhuslikult nimetab.
Üks puudutab kerneli edastustabelit, teine deemoni sisemist marsruudimudelit. Nende lahus hoidmine selgitab, miks konfiguratsioon, mis näeb täielik välja, võib eesliite ikkagi kaotada. See selgitab ka, miks sama võrk esineb igas toimivas näites kaks korda. Kumbki rida ei ole üleliigne.
Traditsioonilises userspace-seades on mõlemad vajalikud ja need täiendavad teineteist. Ainult kerneli marsruut jätab deemoni ilma võimaluseta peeri valida. Ainult iroute jätab kerneli ilma teeta tunnelini. Siit tuleb ka suurem osa segadusest kliendipõhiste failide ümber: fail ei ole marsruuditabeli kirje ja marsruudikirje ei ole omandusavaldus.
ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1Kuhu kumb kuulub
Marsruut läheb serveri hallatavasse konfiguratsiooni, kus see kehtib selle serveriprotsessi kohta. iroute läheb kliendipõhisesse faili, mis on nimetatud haruseadme autenditud identiteedi järgi.
Failinimi, mis ei vasta tegelikule identiteedile, ei loeta kunagi, ja sümptom on identne puuduva iroutega. Kontrolli identiteeti, mille server autentis ja seejärel kontrolli failinime täht-tähe haaval.
# /etc/openvpn/server/server.conf
route-ipv6 fd00:7a::/64
client-config-dir /etc/openvpn/server/ccd
# /etc/openvpn/server/ccd/branch-b
iroute-ipv6 fd00:7a::/64Hoia pool ja haru eesliide lahus, sest nende kattumine loob mõistatuse, mida ükski direktiiv ei suuda lahendada.
Mida teine klient vajab
Teine klient, kes peaks selle haruni jõudma, vajab teadet, mitte omandust. Saada eesliide klientidele, keda mõtled, sinu konfiguratsioonile sobivas kliendi- või grupikontekstis.
Ära saada seda harule endale, sest sellel seadmel on eesliide juba ühendatud võrguna.
Selle saatmine kõigile on valik tagajärgedega: iga klient usub siis, et haru on tunneli kaudu kättesaadav, sealhulgas kliendid, kellele sa seda juurdepääsu kunagi anda ei kavatsenud. Teatamine on praktikas juurdepääsuotsus, kuigi direktiiv näeb välja nagu torutöö. serveri valikute viide dokumenteerib iroute-ipv6 kliendipõhise omandusena, ja see on erinevus, mida tasub hoida.
Tagasitee haruseadmel
Omandusest on kasu ainult siis, kui haru edastab pakette ja selle LAN teab, kuidas vastata. Luba haruseadmel IPv6 edastamine ja kinnita, et selle LAN-i hostid saadavad VPN-pooli liikluse tagasi haru suunas, mitte vaikemarsruudi suunas, mis pooli ei tunne.
See tagasitee on IPv6 vaste puuduva marsruudi probleemile, millega inimesed IPv4 puhul kokku puutuvad.
Kontrolli seda LAN-i hostist VPN-pooli aadressi päringuga, mitte haru enda pealt. Ruuteril tehtud päring vastab teisele küsimusele kui sinu kasutajate oma, ja need kaks erinevad piisavalt sageli, et lisakäsk end ära tasuks.
Kui paarist veel ei piisa
Mõned juurutused ei kasuta seda teed üldse. Kerneli andmetee ja tootehallatud serverid on oma toetatud marsruudikäsitlusega ning userspace-näide ei pruugi otse üle kanduda.
Kinnita, millist andmeteed sinu build kasutab, enne kui kopeerid direktiive teise jaoks kirjutatud õpetusest.
Lõpuks pea meeles aadressi ulatust: selline unikaalne lokaalne eesliide nagu fd00:7a::/64 on olemuselt privaatne ega ütle midagi avaliku IPv6 kättesaadavuse kohta. Käsitle seda sisemise juurdepääsuna ja hoia interneti väljasõit eraldi küsimusena oma poliitikaga.