Dva VPN klienti současně: kdo vyhraje výchozí trasu?
Dva VPN klienti si nárokují výchozí trasu a vyhraje jen jeden. Přečtěte si metriku, dvojici /1 a rozdělení resolveru, než zvolíte pořadí tunelů.
Provozovat dva VPN klienty současně je spor o směrování, ne nastavení soukromí. Provoz dostane ten tunel, který vlastní konkrétnější trasu, a druhý zůstane připojený, ale nečinný. Firemní brána pak vidí připojení přicházející z osobního výstupu, zatímco firemní klient na vašem počítači stále vidí každý adaptér. Rozhodnout, který z těchto dvou faktů je důležitý, je celé cvičení.
Směrovací tabulka vybere jednoho vítěze
Zachyťte tabulku před spuštěním firemního klienta a po něm a čtěte sloupec rozhraní, ne jen cíl. Obyčejná výchozí trasa z vnějšího tunelu se snadno vytlačí, protože dvojice /1 je konkrétnější než /0. Doslovná dvojice 0.0.0.0/1 a 128.0.0.0/1 pokrývá celý prostor IPv4 ve dvou polovinách a porazí jakoukoli jedinou výchozí trasu. Po instalaci vnější tunel stále vypadá připojený a nic nepřenáší.
ip route show default
ip route show | grep -E '^(0.0.0.0/1|128.0.0.0/1)'Zásadové směrování může hlavní tabulku úplně přebít, takže čtěte pravidla i trasy. Pravidlo, které posílá označený provoz do jiné tabulky, vyhraje dřív, než se hlavní tabulka vůbec prozkoumá. Tak může jedna aplikace zůstat na fyzickém odkazu, zatímco všechno ostatní používá tunel.
ip rule showWindows to rozhoduje metrikami
Ve Windows je vítězem trasa s nejnižší metrikou pro cíl a oba klienti mohou nainstalovat výchozí trasu s různými metrikami. Čtěte tabulku a konfiguraci rozhraní společně, protože adaptér s nižší metrikou není vždy ten, který očekáváte. Klient, který nastavuje i metriku rozhraní, může posunout výchozí trasu, aniž by přidal jedinou trasu. Prohrávající adaptér zůstane zapnutý a prostě nic nepřijímá.
route print -4
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4DefaultGatewayPorovnejte oba výstupy a pojmenujte rozhraní, kterému patří 0.0.0.0/0. Pokud si na něj dělají nárok oba klienti, rozhoduje metrika, a proto může test pořadí připojení vypadat na různých strojích nekonzistentně. Pokud ani jeden výstup neukazuje výchozí bránu, klient neběží v plném tunelu a argument řetězu je bezpředmětný.
Dva pozorovatelé, dva různé pohledy
Vzdálená brána vidí jedno připojení přicházející z vnějšího výstupu plus vše, co klient předává do svého tunelu. Místní klient vidí adaptéry, trasy a existenci dalšího tunelu, protože běží s oprávněním je vytvářet. Oddělit tyto pohledy je smyslem; tvrzení, že si klient nemůže všimnout, není.
Předpokládejte, že klient může vyjmenovat, co chce, a plánujte raději pro pohled brány. Návrh, který závisí na tom, že klient zůstane slepý, je jednu aktualizaci od rozbití.
DNS a IPv6 jsou místa, kde řetěz uniká
DNS následuje to nastavení resolveru, které vyhraje, a to nemusí být cesta, kterou pakety jdou. Firemní resolver dosažený firemním tunelem je s návrhem v souladu; místní resolver dosažený mimo něj není a odhaluje jména, která měl tunel skrýt. IPv6 je druhý únik: hostitel s duálním zásobníkem dál používá IPv6 k cílům, které tunel nese jen přes IPv4. Kontrolujte rodiny odděleně, protože tunel jen pro IPv4 neříká nic o trasách nebo resolverech IPv6.
ip -6 route show default
resolvectl status | grep -A2 'DNS Servers'Opravte resolver a trasu IPv6 záměrně, místo abyste navršili druhý tunel. Dvojité zapouzdření také stojí MTU, takže menší vnitřní MTU je první věc, kterou zkuste, když se stránky po vztyčení řetězu zaseknou. Resolver, který odpovídá rychle, není důkazem, že je ten správný.