Verbind de VPN en de printer verdwijnt, de NAS-share opent niet meer, en een Extern bureaublad-sessie naar de machine naast je loopt in een time-out. Er is niets kapot. De client voegde een standaardroute toe en bezit nu elke bestemming die de laptop kan benoemen, ook die op drie meter afstand. Dat is het hele mechanisme, en het een VPN-storing noemen is wat een oplossing van één regel in een supportcase verandert.

Lees eerst de routetabel

Voordat je iets wijzigt, leg de IPv4-tabel vast met route print -4 en bewaar de uitvoer. Verbind, leg opnieuw vast en vergelijk de regels 0.0.0.0: de actieve standaardroute noemt een interface, en als die interface de tunnel is, worden lokaal printen en browsen eerst naar kantoor gestuurd.

Het interfacenummer in de tweede kolom is waar een permanente route later naar moet verwijzen, dus noteer het terwijl de tunnel actief is. Het is ook de waarde die verandert wanneer de adapter opnieuw wordt aangemaakt, en daarom kunnen routes die eraan vastzitten stilletjes hun nut overleven.

Verwijder de standaardroute, op drie manieren

Op een ingebouwd Windows-profiel is de besturing een selectievakje. Open de eigenschappen van de verbinding, IPv4, dan Geavanceerd, en wis Use default gateway on remote network; de nieuwere Instellingen-app verbergt hetzelfde dialoogvenster een laag dieper. Vanuit een verhoogde opdrachtprompt is dezelfde wijziging één cmdlet:

Set-VpnConnection -Name "Corp" -SplitTunneling $true

Een OpenVPN-profiel werkt anders, en daarom verwart het gedrag mensen die een selectievakje verwachten. De richtlijn redirect-gateway def1 vervangt de standaardroute helemaal niet; hij installeert twee halve-bereikroutes, 0.0.0.0/1 en 128.0.0.0/1, die samen de standaard verslaan zonder hem te verwijderen. Omdat de oorspronkelijke standaard blijft bestaan, stuurt het toevoegen van een prefix dat naar net_gateway wijst alleen dat prefix terug naar de lokale router. Dat detail verklaart waarom de oplossing voor een def1-profiel een prefixroute is en geen selectievakje dat niemand kan vinden.

Voeg alleen terug wat bij het werk hoort

Zonder de standaardroute draagt de tunnel niets, dus de werkprefixen moeten expliciet worden benoemd. De cmdlet die een prefix aan de verbinding bindt, is veiliger dan een permanente route, omdat hij alleen wordt geïnstalleerd zolang die verbinding actief is en niet afhangt van een interfacenummer:

Add-VpnConnectionRoute -ConnectionName "Corp" -DestinationPrefix 172.20.0.0/16

De oudere aanpak werkt nog steeds en staat nog steeds in elke checklist: route -p add 172.20.0.0 mask 255.255.0.0 172.20.0.1 if 14, met de eigen interface-index en gateway-adres van de tunnel. Hij overleeft herstarts, wat het doel en ook het gevaar is, want de index kan bij de volgende start bij iets anders horen.

De rest bepalen de metrische waarden. Als zowel de fysieke als de tunneladapter een route voor hetzelfde prefix claimen, wint de laagste metrische waarde, en de metrische waarde van de tunnel verhogen is een legitieme client-side besturing en geen hack.

Wanneer de server voor je beslist

Een client die je selectievakje negeert, gehoorzaamt meestal een beleid. Cisco-profielen dragen een instelling Allow Local LAN Access, en een headend kan een tunnel-all-beleid pushen dat overschrijft wat de client ook zou verkiezen; bij een verplichte tunnel is er geen lokale schakelaar om om te zetten. Lees de clientlog op gepushte routes en beleidsregels in plaats van hetzelfde dialoogvenster opnieuw te controleren.

Kijk daarna naar naamresolutie, dat is een aparte schakelaar naast routing. Een split-tunnel kan nog steeds een interne resolver en een zoekachtervoegsel ontvangen, dus een lokaal apparaat is bereikbaar op adres en onvindbaar op naam tot de DNS-kant ook is gerepareerd.

Overlap is een ander probleem

Als het thuis-LAN en het kantoor-LAN een prefix delen zoals 192.168.0.0/24, kan geen enkele route ze onderscheiden. Elk pakket voor dat bereik heeft één opzoekresultaat, en de oplossing is een kant opnieuw nummeren of kantoor bereiken via een vertaald adres uit de pool. Meer specifieke routes toevoegen verschuift alleen welke helft van het netwerk stukgaat.

Eindig met één verificatie in plaats van vijf: verbind en voer dan tracert uit tegen een interne en een openbare host. De eerste hop zou moeten verschillen, en als dat niet zo is, is de splitsing niet actief, wat de client ook meldt. Verbind daarna nog één keer opnieuw en herhaal, want gepushte routes komen bij elke sessie terug.

Gerelateerde artikelen