Prevádzka dvoch VPN klientov súčasne je spor o smerovanie, nie nastavenie súkromia. Prevádzku dostane ten tunel, ktorý vlastní konkrétnejšiu trasu, a druhý zostane pripojený, ale nečinný. Firemný gateway potom vidí pripojenie prichádzajúce z osobného výstupu, zatiaľ čo firemný klient na vašom počítači stále vidí každý adaptér. Rozhodnúť, ktorý z týchto dvoch faktov je dôležitý, je celé cvičenie.

Smerovacia tabuľka vyberie jedného víťaza

Zachyťte tabuľku pred spustením firemného klienta a po ňom a čítajte stĺpec rozhrania, nie iba cieľ. Obyčajná predvolená trasa z vonkajšieho tunela sa ľahko vytlačí, pretože dvojica /1 je konkrétnejšia ako /0. Doslovná dvojica 0.0.0.0/1 a 128.0.0.0/1 pokrýva celý priestor IPv4 v dvoch poloviciach a porazí akúkoľvek jedinú predvolenú trasu. Po nainštalovaní vonkajší tunel stále vyzerá pripojený a nič neprenáša.

ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'

Smerovanie podľa pravidiel môže úplne obísť hlavnú tabuľku, preto čítajte pravidlá aj trasy. Pravidlo, ktoré posiela označenú prevádzku do inej tabuľky, vyhrá skôr, než sa hlavná tabuľka vôbec preverí. Tak môže jedna aplikácia zostať na fyzickom prepojení, kým všetko ostatné používa tunel.

ip rule show

Windows to rozhoduje metrikami

V systéme Windows je víťazom trasa s najnižšou metrikou pre cieľ a obaja klienti môžu nainštalovať predvolenú trasu s rôznymi metrikami. Čítajte tabuľku a konfiguráciu rozhrania spoločne, pretože adaptér s nižšou metrikou nie je vždy ten, ktorý očakávate. Klient, ktorý nastavuje aj metriku rozhrania, môže posunúť predvolenú trasu bez pridania jedinej trasy. Prehrávajúci adaptér zostane zapnutý a jednoducho nič neprijíma.

route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGateway

Porovnajte oba výstupy a pomenujte rozhranie, ktoré vlastní 0.0.0.0/0. Ak si ho nárokujú obaja klienti, rozhoduje metrika, a preto môže test poradia pripojenia vyzerať na rôznych počítačoch nekonzistentne. Ak ani jeden výstup neukazuje predvolenú bránu, klient nebeží v plnom tuneli a argument reťaze je bezpredmetný.

Dvaja pozorovatelia, dva rôzne pohľady

Vzdialený gateway vidí jedno pripojenie prichádzajúce z vonkajšieho výstupu plus všetko, čo klient preposiela do svojho tunela. Lokálny klient vidí adaptéry, trasy a existenciu iného tunela, pretože beží s oprávneniami ich vytvárať. Oddelenie týchto pohľadov je pointa; tvrdenie, že klient si to nemôže všimnúť, nie je.

Predpokladajte, že klient môže vymenovať, čo chce, a plánujte radšej pre pohľad gatewaya. Dizajn, ktorý závisí od toho, že klient zostane slepý, je jedno aktualizovanie od zlyhania.

DNS a IPv6 sú miesta, kde reťaz uniká

DNS nasleduje to nastavenie resolvera, ktoré vyhrá, a to nemusí byť cesta, ktorou idú pakety. Firemný resolver dosiahnutý firemným tunelom je v súlade s dizajnom; lokálny resolver dosiahnutý mimo neho nie je, a odhaľuje mená, ktoré mal tunel skryť. IPv6 je druhý únik: hostiteľ s duálnym zásobníkom ďalej používa IPv6 k cieľom, ktoré tunel prenáša len cez IPv4. Kontrolujte rodiny oddelene, pretože tunel len pre IPv4 nehovorí nič o trasách alebo resolveroch IPv6.

ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'

Opravte resolver a trasu IPv6 zámerne, namiesto toho, aby ste navŕšili druhý tunel navrch. Dvojité zapuzdrenie tiež stojí MTU, takže menšie vnútorné MTU je prvé, čo treba vyskúšať, keď sa stránky po zdvihnutí reťaze zaseknú. Resolver, ktorý odpovedá rýchlo, nie je dôkazom, že je ten správny.

Súvisiace články