VPN w Windows przejmuje cały ruch? Usuń jego trasę domyślną
Odhacz Używaj bramy domyślnej w sieci zdalnej, usuń wypchniętą trasę domyślną, dodaj z powrotem prefiksy biura, a następnie ponownie sprawdź DNS i IPv6.
Łączysz się z VPN-em biura i każda strona w przeglądarce zaczyna przechodzić przez tę sieć: serwer plików jest szybki, wszystko inne jest wolne, filtrowane lub zniknęło. Klient nie zachowuje się źle; profil poprosił o pełny tunel. Przełącznikiem, który to zatrzymuje, jest jedno pole wyboru w oknie dialogowym, którego nowoczesna aplikacja Ustawienia nie pokazuje, a brama przy każdym połączeniu znów ma coś do powiedzenia. Ten przewodnik idzie w kolejności, którą interfejs Windows naprawdę pokazuje, a potem omawia kontrole, które nadal zawodzą, gdy tabela tras wygląda poprawnie.
Zacznij od właściwości karty sieciowej, nie od Ustawień
Aplikacja Ustawienia wymienia profil w sekcji Sieć i internet, a potem VPN, ale pokazuje tylko ogólne opcje. Decyzja o bramie domyślnej mieszka na karcie. Otwórz klasyczną listę kart za pomocą Win+R i ncpa.cpl, kliknij prawym przyciskiem połączenie VPN, wybierz Właściwości, wybierz Protokół internetowy w wersji 4, wybierz ponownie Właściwości, a potem Zaawansowane. Odhacz Używaj bramy domyślnej w sieci zdalnej i potwierdź wyjście ze wszystkich trzech okien.
Połącz się ponownie przed testowaniem, ponieważ pole jest stosowane przy zestawianiu tunelu, a istniejąca sesja zachowuje zbudowaną tabelę. Jeśli karty brakuje, gdy klient jest rozłączony, połącz się raz i otwórz okno ponownie. Klient dostawcy, który instaluje kartę TAP lub Wintun bez strony właściwości IPv4, w ogóle nie ma tego okna; dla nich ta sama decyzja jest opcją tunelu dzielonego w ustawieniach samego klienta, a pole wyboru karty to złe miejsce do szukania.
Ta sama zmiana z PowerShell
Dla profilu utworzonego w magazynie VPN systemu Windows ustawienie można skryptować, czego właśnie chcesz, jeśli maszyna jest często stawiana od nowa:
Set-VpnConnection -Name "Office" -SplitTunneling $true
Get-VpnConnection -Name "Office" | Select-Object Name,SplitTunneling
Ten cmdlet dociera tylko do profili w tym magazynie. Połączenie dodane przez klienta innej firmy nie pojawi się, a polecenie kończy się błędem nazwy, który wygląda jak literówka. Zwróć też uwagę na to, czego przełącznik nie robi: nie pozwala klientowi zainstalować trasy domyślnej, ale nie usuwa tras, które brama wypycha przy połączeniu, więc następna sekcja nadal jest potrzebna w wielu sieciach.
Gdy brama znów wypycha trasę domyślną
Najpierw przeczytaj tabelę. Dwa wpisy domyślne z różnymi metrykami oznaczają, że zmiana profilu zadziałała, a wypchnięta trasa i tak ją zastąpiła:
route print -4
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Sort-Object RouteMetric
Get-NetAdapter | Select-Object Name,ifIndex
Usuń trasę domyślną należącą do tunelu, a zachowaj fizyczną. Użyj indeksu interfejsu z trzeciego polecenia, nie aliasu karty, bo skrypty przekazujące alias psują się, gdy tylko zmieni się nazwa wyświetlana:
Remove-NetRoute -DestinationPrefix 0.0.0.0/0 -InterfaceIndex 21 -Confirm:$false
route delete 0.0.0.0 10.8.0.1
Usunięcie zabiera ze sobą biuro, więc dodaj prefiksy firmowe z powrotem przez bramę tunelu. To jest wiersz, który ludzie pomijają, i dlatego po udanej zmianie tunelu dzielonego pojawia się „VPN przestał działać”:
route add 10.0.0.0 mask 255.0.0.0 10.8.0.1 metric 5 if 21
Nic z tego nie przeżyje ponownego połączenia, co jest uczciwym zachowaniem, a nie błędem: karta jest budowana od nowa, a klient ponownie stosuje to, na co zgodziły się profil i brama. Jeśli trasa domyślna wraca za każdym razem, brama jest skonfigurowana tak, aby odmawiać tunelu dzielonego, i będzie go dalej wypychać albo zerwie sesję. To polityka operatora sieci i prośba należy tam, a nie do lokalnego skryptu, który walczy z tym raz na połączenie.
Sprawdź ponownie DNS, IPv6 i metryki po jednym ponownym połączeniu
Usunięcie trasy domyślnej IPv4 niczego nie dowodzi o drugiej rodzinie ani o rozwiązywaniu nazw. Tunel może przenosić IPv6, podczas gdy trasa domyślna IPv4 pozostaje lokalna, a wypchnięta lista resolverów może utrzymywać nazwy wewnętrzne w działaniu, podczas gdy zapytania, które jej używają, idą inną drogą. Sprawdź wszystkie trzy, zanim uznasz to za zrobione:
Get-NetRoute -DestinationPrefix ::/0
Get-DnsClientServerAddress -InterfaceAlias "Office"
Get-DnsClientNrptPolicy
Jeśli stan wraca przy każdym połączeniu, przenieś polecenia do akcji przy połączeniu zamiast edytować tabelę ręcznie: zadanie zaplanowane uruchamiane zdarzeniem połączenia albo własne ustawienie tunelu dzielonego klienta, jeśli je ma. Trzymaj indeks interfejsu w zmiennej i sprawdzaj go w czasie wykonania, ponieważ może się zmienić, gdy karty są dodawane lub usuwane.
Zdecyduj, z czego zrezygnowałeś
Lokalny ruch internetowy nie jest już kontrolowany ani filtrowany przez biuro, a wszystko, co jest publikowane tylko przez tunel, potrzebuje teraz własnej trasy. Niektóre organizacje uznają tunel dzielony za naruszenie polityki, więc potwierdź to przed zmianą zarządzanego urządzenia; wypchnięta trasa domyślna bywa mechanizmem egzekwowania, a nie przypadkiem. Dokumentacja Set-VpnConnection wymienia parametr tunelu dzielonego i typy profili, których dotyczy.
Następnie zweryfikuj w ustalonej kolejności: kto posiada trasę domyślną, zwykłe przeglądanie, jeden host firmowy po adresie, jedna nazwa wewnętrzna i te same cztery po jednym ponownym połączeniu. Jeśli przeglądanie działa, a host firmowy zawodzi, brakuje trasy prefiksu, a nie usuniętej trasy domyślnej, i to znacznie taniej naprawić niż odbudować profil.