VPN ve Windows bere veškerý provoz? Odstraňte jeho výchozí trasu
Zrušte zaškrtnutí Použít výchozí bránu ve vzdálené síti, odstraňte vnucenou výchozí trasu, vraťte předpony kanceláře a pak znovu zkontrolujte DNS a IPv6.
Připojíte se k firemní VPN a každá stránka v prohlížeči začne procházet tou sítí: souborový server je rychlý, všechno ostatní je pomalé, filtrované nebo pryč. Klient se nechová špatně; profil si vyžádal plný tunel. Přepínač, který to zastaví, je jedno zaškrtávací políčko v dialogu, který moderní aplikace Nastavení nezobrazuje, a brána má při každém připojení znovu slovo. Tento návod sleduje pořadí, které rozhraní Windows skutečně nabízí, a poté pokrývá kontroly, které stále selhávají, když tabulka tras vypadá správně.
Začněte ve vlastnostech adaptéru, ne v Nastavení
Aplikace Nastavení uvádí profil pod Síť a internet, potom VPN, ale nabízí jen obecné možnosti. Rozhodnutí o výchozí bráně žije na adaptéru. Otevřete klasický seznam adaptérů pomocí Win+R a ncpa.cpl, klikněte pravým tlačítkem na připojení VPN, zvolte Vlastnosti, vyberte Internet Protocol verze 4, znovu Vlastnosti a potom Upřesnit. Zrušte zaškrtnutí Použít výchozí bránu ve vzdálené síti a potvrďte cestu ze všech tří dialogů.
Před testováním se znovu připojte, protože zaškrtávací políčko se uplatní při navázání tunelu a existující relace si podrží tabulku, kterou vytvořila. Pokud adaptér chybí, když je klient odpojený, připojte se jednou a znovu okno otevřete. Klientský software dodavatele, který instaluje adaptér TAP nebo Wintun bez stránky vlastností IPv4, tento dialog vůbec nemá; pro ně je stejným rozhodnutím volba rozděleného tunelu v nastavení samotného klienta a zaškrtávací políčko adaptéru je špatné místo, kde hledat.
Stejná změna z PowerShellu
U profilu vytvořeného v úložišti VPN systému Windows lze nastavení skriptovat, což je přesně to, co chcete, když se počítač často obnovuje:
Set-VpnConnection -Name "Office" -SplitTunneling $true
Get-VpnConnection -Name "Office" | Select-Object Name,SplitTunneling
Tento cmdlet dosáhne pouze na profily v tomto úložišti. Připojení přidané klientem třetí strany se neobjeví a příkaz selže s chybou názvu, která vypadá jako překlep. Všimněte si také, co přepínač nedělá: brání klientovi nainstalovat výchozí trasu, ale neodstraňuje trasy, které brána vnucuje při připojení, takže následující část je v mnoha sítích stále potřeba.
Když brána výchozí trasu znovu vnutí
Nejprve si přečtěte tabulku. Dvě výchozí položky s různými metrikami znamenají, že změna profilu zabrala a vnucená trasa ji přesto nahradila:
route print -4
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Sort-Object RouteMetric
Get-NetAdapter | Select-Object Name,ifIndex
Smažte výchozí trasu, která patří tunelu, a tu fyzickou ponechte. Použijte index rozhraní ze třetího příkazu, ne alias adaptéru, protože skripty, které předávají alias, se rozbijí, jakmile se změní zobrazovaný název:
Remove-NetRoute -DestinationPrefix 0.0.0.0/0 -InterfaceIndex 21 -Confirm:$false
route delete 0.0.0.0 10.8.0.1
Smazání s sebou bere i kancelář, takže korporátní předpony přidejte zpět přes bránu tunelu. To je řádek, který lidé přeskakují, a to je důvod, proč po úspěšné změně rozděleného tunelu následuje „VPN přestala fungovat“:
route add 10.0.0.0 mask 255.0.0.0 10.8.0.1 metric 5 if 21
Nic z toho nepřežije opětovné připojení, což je poctivé chování, ne chyba: adaptér se znovu sestaví a klient znovu uplatní to, na čem se profil a brána dohodly. Pokud se výchozí trasa vrací pokaždé, je brána nastavena tak, že rozdělený tunel odmítá, a bude ji vnucovat dál, nebo relaci ukončí. To je politika provozovatele sítě a požadavek patří tam, ne do místního skriptu, který s tím bojuje jednou při každém připojení.
Po jednom opětovném připojení zkontrolujte DNS, IPv6 a metriky
Odstranění výchozí trasy IPv4 nic nedokazuje o druhé rodině ani o překladu názvů. Tunel může přenášet IPv6, zatímco výchozí IPv4 zůstává lokální, a vnucený seznam resolverů může držet interní názvy funkční, i když dotazy, které ho používají, jdou jinou cestou. Zkontrolujte všechny tři, než to prohlásíte za hotové:
Get-NetRoute -DestinationPrefix ::/0
Get-DnsClientServerAddress -InterfaceAlias "Office"
Get-DnsClientNrptPolicy
Pokud se stav při každém připojení vrací, přesuňte příkazy do akce při připojení místo ruční úpravy tabulky: naplánovaná úloha spuštěná událostí připojení, nebo vlastní nastavení rozděleného tunelu klienta, kde existuje. Držte index rozhraní v proměnné a zjišťujte ho za běhu, protože se může změnit, když se adaptéry přidají nebo odeberou.
Rozhodněte, čeho jste se vzdali
Lokální internetový provoz už kancelář nekontroluje ani nefiltruje a cokoli publikovaného pouze tunelem teď potřebuje vlastní trasu. Některé organizace považují rozdělený tunel za porušení politiky, takže to před změnou spravovaného zařízení ověřte; vnucená výchozí trasa je někdy donucovací mechanismus, ne náhoda. Dokumentace Set-VpnConnection uvádí parametr rozděleného tunelu a typy profilů, na které se vztahuje.
Potom ověřte v pevném pořadí: komu patří výchozí trasa, běžné prohlížení, jeden korporátní hostitel podle adresy, jeden interní název a stejné čtyři po jediném opětovném připojení. Jestliže prohlížení funguje a korporátní hostitel selhává, chybí předponová trasa, ne výchozí, kterou jste odstranili, a to se opravuje mnohem levněji než přestavba profilu.