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::1

Kam 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::/64

Udrž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.

Súvisiace články