Váš tunel naskočí, privátna podsiet odpovedá a bežné prehliadanie napriek tomu mizne vo VPN, aj keď niekto zmazal riadok brány z profilu. Táto kombinácia je odtlačkom úpravy nesprávnej direktívy. Odstránené dávalo klientovi ďalší skok pre trasy, ktoré inštaluje; to, čo ďalej zachytávalo prevádzku, prišlo odinakiaľ a pretlačil to server. Pokrytie a ďalší skok sú oddelené úlohy a len jedna z nich rozhoduje, či verejné ciele používajú tunel.

Riadok, ktorý ste odstránili, bol ďalší skok, nie prepínač politiky

Každá trasa, ktorú klient inštaluje, potrebuje adresu brány, na ktorú má ukazovať, a direktíva brány je zdrojom tejto adresy, keď trasa sama žiadnu neuvedie. Zmažte ju a tie trasy nemajú kam sa pripojiť, takže sa buď nenainštalujú, alebo skončia na ceste, ktorá nikam nevedie. Privátna podsiet je presne to, čo taká trasa niesla.

Medzitým preživšie správanie má iného autora: voľbu presmerovania v pretlačenom bloku, ktorá presúva bežnú odchádzajúcu prevádzku do tunela podľa svojich príznakov. Odstránenie brány ju ani nevypne, ani neoslabí. Výsledok je najhorší z oboch stavov: verejná prevádzka sa stále zachytáva a privátny cieľ, ktorý tunel ospravedlňoval, je teraz nedostupný. Preto ani druhá úprava, urobená v tom istom duchu, nič nemení.

Štyri páky, štyri rôzne úlohy

V tejto diskusii sa štyri direktívy citujú zameniteľne a len jedna z nich riadi pokrytie, teda ktoré ciele vôbec idú cez tunel. Druhá nastavuje ďalší skok, ktorý trasy používajú, tretia inštaluje jeden prefix a štvrtá zahadzuje všetko, čo server pretlačil, vrátane privátnych trás, ktoré nasadenie potrebuje. Tabuľka ich zoraďuje podľa toho, čo sa správca snaží zmeniť, a nie podľa názvu, pretože práve názvy spôsobujú zámenu. Berte ich ako štyri samostatné rozhodnutia a vyberte to, ktoré naozaj chcete vrátiť.

V praxi všetky štyri často prichádzajú v jednom pretlačenom bloku, riadok po riadku, čo z nich robí zdanlivé časti jedného nastavenia. Nie sú, a referenčná príručka OpenVPN ich preto dokumentuje ako odlišné mechanizmy. Zistiť, ktoré rozhodnutie vraciate, je úloha; úprava je jeden riadok.

What you are trying to changeDirective that decides itWhat it leaves alone
Which destinations use the tunnelredirect-gatewayPer-prefix routes and resolver choice
The next hop a pushed route points atroute-gatewayCoverage of public destinations
One reachable prefixrouteEvery other destination, default path included
All pushed routing and DNS at onceroute-nopullNothing, which is the problem

Filtrujte pretlačený riadok, ďalší skok zachovajte

Ak pokrytie, proti ktorému protestujete, prichádza ako pretlačená voľba, úzkou reakciou je túto voľbu ignorovať podľa názvu a zvyšok pretlačeného bloku nechať nedotknutý. Zapísaný ako filter vyzerá ako riadok nižšie a patrí do profilu postihnutého klienta, nie do konfigurácie servera.

pull-filter ignore "redirect-gateway"

Úzkosť je podstatou. Keďže filter porovnáva textový prefix, kratší vzor zodpovedá aj direktíve ďalšieho skoku, čo strhne presne informáciu, na ktorej privátne trasy závisia, a zopakuje pôvodnú chybu v novom kabáte. Filter tiež pôsobí len na pretlačené voľby, takže nikdy nezasiahne ekvivalentný riadok napísaný lokálne alebo vnútený správcom siete. Potom sa znova pripojte, pretože živá relácia neprehodnocuje to, čo server pretlačil.

Čítajte vyhľadanie, nie tabuľku

Po opätovnom načítaní profilu sa spýtajte jadra, kam by dve destinácie skutočne išli: jedna vnútri privátneho prefixu a jedna na verejnom internete. Úplný výpis hlavnej tabuľky sa číta ťažšie a ľahšie sa prečíta nesprávne, pretože trasa môže existovať a napriek tomu prehrať so špecifickejšou zhodou. Pri politickom smerovaní patrí do kontroly aj pravidlo, tabuľka a zdrojová adresa.

ip route get 10.40.7.25
ip route get 203.0.113.77
ip rule show

Variant def1 si zaslúži znalosť, pretože necháva starý predvolený záznam viditeľný, kým dvojica polo-predvolených vyhráva vyhľadanie. Riadok 0.0.0.0/0 vo výstupe teda sám o sebe nič nedokazuje. Vyhľadanie odpovedá na otázku, na ktorú výpis iba vyzerá, že odpovedá.

DNS, IPv6 a privátna trasa musia stále fungovať

Odmietnutie jedného presmerovania IPv4 nič nehovorí o resolveri, takže pretlačená voľba DNS môže ďalej posielať dopyty do tunela, kým trasy vyzerajú správne. Predvolené IPv6 môže urobiť to isté pre rodinu adries, ktorej sa kontrola IPv4 nikdy nedotkla. Obe potrebujú výslovné rozhodnutie namiesto predpokladu. Potom potvrďte, že privátna služba stále odpovedá, pretože rozdelený tunel, ktorý stratil svoju privátnu trasu, nie je rozdelený tunel, je pokazený.

Jeden širší nástroj si zaslúži varovanie: route-nopull zahadzuje každú pretlačenú trasu a každú pretlačenú voľbu DNS, čo plný tunel isto zastaví a rovnako isto rozbije privátne trasy, na ktorých nasadenie závisí, takže je oveľa väčším kladivom než filter podľa názvu zameraný na jednu voľbu. Po každej zmene skontrolujte privátny cieľ, verejný cieľ a resolver a dokončený handshake považujte za dôkaz ničoho iného než handshake.

Súvisiace články