Windows-VPN tek all trafikken din? Fjern standardruta
Fjern merket for Bruk standardgateway på fjernnettverket, slett standardruta som blir skyvd ut, legg tilbake kontorprefiksa og kontroller deretter DNS og IPv6 på nytt.
Du koplar til kontoret sin VPN, og kvar side i nettlesaren byrjar å gå gjennom det nettverket: filserveren er rask, alt anna er tregt, filtrert eller borte. Klienten oppfører seg ikkje feil; profilen bad om ein full tunnel. Brytaren som stoppar det, er éin avkrysningsboks i ein dialog som det moderne Innstillingar-programmet ikkje viser, og gatewayen får igjen eit ord å seie ved kvar tilkopling. Denne gjennomgangen følgjer rekkjefølgja Windows-grensesnittet faktisk presenterer, og dekkjer deretter kontrollane som framleis feilar når rutetabellen ser riktig ut.
Start i adatteregenskapane, ikkje i Innstillingar
Innstillingar-programmet listar profilen under Nettverk og Internett, deretter VPN, men viser berre generelle alternativ. Avgjerda om standardgatewayen bur på adapteren. Opne den klassiske adapterlista med Win+R og ncpa.cpl, høgreklikk VPN-tilkoplinga, vel Eigenskapar, vel Internett-protokoll versjon 4, vel Eigenskapar igjen og deretter Avansert. Fjern merket for Bruk standardgateway på fjernnettverket og stadfest vegen ut av alle tre dialogane.
Kopla til på nytt før du testar, fordi avkrysningsboksen blir brukt når tunnelen blir oppretta, og ei eksisterande økt held på tabellen ho bygde. Viss adapteren manglar medan klienten er fråkopla, kopla til éin gong og opne vindauget på nytt. Ein leverandørklient som installerer ein TAP- eller Wintun-adapter utan ei IPv4-eigenskapsside, har ikkje denne dialogen i det heile; for dei er same avgjerda eit splitt-tunnel-alternativ i klienten sine eigne innstillingar, og avkrysningsboksen på adapteren er feil stad å leite.
Same endring frå PowerShell
For ein profil som er oppretta i Windows VPN-lageret, kan innstillinga skriptast, som er det du vil ha viss maskinen ofte blir bygd på nytt:
Set-VpnConnection -Name "Office" -SplitTunneling $true
Get-VpnConnection -Name "Office" | Select-Object Name,SplitTunneling
Den cmdleten når berre profilar i det lageret. Ei tilkopling som er lagd til av ein tredjepartsklient, blir ikkje synleg, og kommandoen feilar med ein namnefeil som les som ein skrivefeil. Legg òg merke til kva brytaren ikkje gjer: han hindrar klienten i å installere ei standardrute, men han fjernar ikkje ruter som gatewayen skyv ut ved tilkopling, så neste avsnitt er framleis naudsynt på mange nettverk.
Når gatewayen skyv standardruta tilbake
Les tabellen først. To standardoppføringar med ulike metrikkar tyder på at profilendringa verka, og at ruta som vart skyvd ut, likevel erstatta ho:
route print -4
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Sort-Object RouteMetric
Get-NetAdapter | Select-Object Name,ifIndex
Slett standardruta som høyrer til tunnelen, og hald på den fysiske. Bruk grensesnittindeksen frå den tredje kommandoen, ikkje adapteraliaset, fordi skript som sender eit alias, knekkjer så snart visingsnamnet blir endra:
Remove-NetRoute -DestinationPrefix 0.0.0.0/0 -InterfaceIndex 21 -Confirm:$false
route delete 0.0.0.0 10.8.0.1
Slettinga tek kontoret med seg, så legg tilbake bedriftsprefiksa gjennom gatewayen til tunnelen. Dette er linja folk hoppar over, og det er grunnen til at «VPN-en slutta å verke» følgjer ei vellukka splitt-tunnel-endring:
route add 10.0.0.0 mask 255.0.0.0 10.8.0.1 metric 5 if 21
Ingenting av dette overlever ei ny tilkopling, noko som er ærleg oppførsel og ikkje ein feil: adapteren blir bygd på nytt, og klienten brukar igjen det profilen og gatewayen vart samde om. Viss standardruta kjem tilbake kvar gong, er gatewayen konfigurert til å avvise splitt-tunnel og vil halde fram med å skyve ho ut, eller kople ned økta. Det er netverksoperatøren sin policy, og førespurnaden høyrer heime der og ikkje i eit lokalt skript som kjempar mot det éin gong per tilkopling.
Kontroller DNS, IPv6 og metrikkane på nytt etter éi ny tilkopling
Å fjerne ei IPv4-standardrute provar ingenting om den andre familien eller om namneoppslag. Ein tunnel kan bera IPv6 medan IPv4-standarden blir liggjande lokalt, og ei utskoten oppløysarliste kan halde interne namn i gang medan spørjingane som brukar ho, går ein annan veg. Kontroller alle tre før du kallar det ferdig:
Get-NetRoute -DestinationPrefix ::/0
Get-DnsClientServerAddress -InterfaceAlias "Office"
Get-DnsClientNrptPolicy
Viss tilstanden går tilbake ved kvar tilkopling, flytt kommandoane til ei handling per tilkopling i staden for å redigere tabellen manuelt: ei planlagd oppgåve som blir utløyst av tilkoplingshendinga, eller klienten si eiga splitt-tunnel-innstilling der ho finst. Hald grensesnittindeksen i ein variabel og slå han opp ved køyring, sidan han kan endre seg når adapterar blir lagde til eller fjerna.
Avgjer kva du gav opp
Lokal internettrafikk blir ikkje lenger inspisert eller filtrert av kontoret, og alt som berre blir publisert gjennom tunnelen, treng no si eiga rute. Nokre organisasjonar ser på splitt-tunnel som eit policybrot, så stadfest det før du endrar ein administrert eining; ei utskoten standardrute er stundom handhevingsmekanismen og ikkje eit uhell. Dokumentasjonen for Set-VpnConnection listar splitt-tunnel-parameteren og profiltypane han gjeld for.
Stadfest deretter i fast rekkjefølgje: kven som eig standardruta, vanleg nettsurfing, éin bedriftsvert etter adresse, eitt internt namn, og dei same fire etter éi enkelt ny tilkopling. Viss surfing verkar og bedriftsverten feilar, manglar prefiksruta og ikkje standardruta du fjerna, og det er mykje billegare å rette enn å byggje profilen på nytt.