Prefix pobočky IPv6: iroute-ipv6 alebo route-ipv6 na serveri?
route-ipv6 privádza prefix do jadra servera; iroute-ipv6 označuje klienta, ktorý ho nesie. Oba patria na server, ktorý toho klienta ukončuje.
Dve direktívy s takmer rovnakým názvom sa objavujú v každom funkčnom príklade, a skopírovanie jednej bez druhej vytvorí tunel, ktorý vyzerá správne a potichu zahodí prefix pobočky. Robia rôznu prácu na rôznych stranách tej istej hranice: jedna učí jadro servera, kde prefix žije, a druhá učí OpenVPN, ktorý overený klient ho nesie. Keď sú obe správne, prefix tečie; keď je správne len jedna, pakety majú trasu, ale nemajú vlastníka.
Dve direktívy, dve rôzne úlohy
route-ipv6 je bežná inštalácia trasy: server pridá trasu jadra, ktorá ukazuje prefix na jeho tunelové rozhranie. iroute-ipv6 patrí do kontextu špecifického pre klienta a deklaruje vnútorné vlastníctvo, takže démon vie, že prevádzka pre tento prefix má ísť konkrétnemu klientovi, a nie tomu peerovi, ktorého náhodou pomenuje trasa jadra.
Jedna sa týka odovzdávacej tabuľky jadra, druhá vnútorného smerovacieho modelu démona. Ich oddelenie vysvetľuje, prečo konfigurácia, ktorá vyzerá úplne, môže prefix napriek tomu zahodiť. Vysvetľuje aj, prečo sa tá istá sieť objavuje v každom funkčnom príklade dvakrát. Ani jeden z tých riadkov nie je nadbytočný.
V tradičnom userspace usporiadaní sú potrebné obe a navzájom sa dopĺňajú. Samotná trasa jadra necháva démona neschopného vybrať peera. Samotný iroute necháva jadro bez cesty k tunelu. Odtiaľto pochádza aj väčšina zmätku okolo súborov pre jednotlivých klientov: súbor nie je položka smerovacej tabuľky a položka trasy nie je vyhlásenie o vlastníctve.
ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1Kam ktorá patrí
Trasa patrí do spravovanej konfigurácie servera, kde platí pre tento proces servera. iroute patrí do súboru špecifického pre klienta, pomenovaného podľa overenej identity zariadenia pobočky.
Názov súboru, ktorý nezodpovedá skutočnej identite, sa nikdy nečíta, a príznak je rovnaký ako pri chýbajúcom iroute. Skontroluj identitu, ktorú server overil, a potom skontroluj názov súboru znak po znaku.
# /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::/64Udržuj pool a prefix pobočky oddelené, pretože ich prekrytie vytvára hádanku, ktorú žiadna direktíva nevyrieši.
Čo potrebuje iný klient
Druhý klient, ktorý má dosiahnuť túto pobočku, potrebuje oznámenie, nie vlastníctvo. Pošli prefix klientom, ktoré chceš, v klientskom alebo skupinovom kontexte, ktorý zodpovedá tvojej konfigurácii.
Neposielaj ho samotnej pobočke, pretože to zariadenie už má prefix ako pripojenú sieť.
Poslať ho všetkým je voľba s následkami: každý klient potom verí, že pobočka je dostupná cez tunel, vrátane klientov, ktorým si ten prístup nikdy dať nechcel. Oznámenie je v praxi rozhodnutím o prístupe, aj keď direktíva vyzerá ako inštalatérska práca. referencia k voľbám servera dokumentuje iroute-ipv6 ako vlastníctvo špecifické pre klienta, a to je rozdiel, ktorý stojí za to si ponechať.
Späťná cesta na zariadení pobočky
Vlastníctvo pomôže len vtedy, keď pobočka preposiela pakety a jej LAN vie, ako odpovedať. Zapni preposielanie IPv6 na zariadení pobočky a over, že hostitelia v jej LAN posielajú prevádzku pre pool VPN späť k pobočke, a nie k predvolenej trase, ktorá pool nepozná.
Tá späťná cesta je obdoba problému chýbajúcej trasy pre IPv6, na ktorý ľudia narážajú pri IPv4.
Over to z hostiteľa v LAN dotazom na adresu poolu VPN, nie z pobočky samotnej. Dotaz vykonaný na routeri odpovedá na inú otázku než tvoji používatelia a obe sa dosť často rozchádzajú, aby sa ten príkaz navyše vyplatil.
Keď dvojica stále nestačí
Niektoré nasadenia túto cestu vôbec nepoužívajú. Dátová cesta jadra a servery spravované produktom majú vlastné podporované zaobchádzanie s trasami a príklad pre userspace sa nemusí preniesť priamo.
Over, ktorú dátovú cestu tvoj build používa, než skopíruješ direktívy z návodu písaného pre tú druhú.
Nakoniec pamätaj na rozsah adries: jedinečný lokálny prefix ako fd00:7a::/64 je súkromný zo zásady a nič nehovorí o verejnej dostupnosti IPv6. Ber ho ako interný prístup a odchod do internetu drž ako samostatnú otázku s vlastnou politikou.