Kill switch in Windows zonder extra software: profielen of routes?
Firewallprofielen volgen de categorie van een netwerk, routes volgen de adapter. Vergelijk beide en test daarna het crashgeval met de tunnel weg en het pictogram dat liegt.
De client sterft midden in een download en het pictogram in het systeemvak verdwijnt. De overdracht loopt door via de thuisverbinding. Precies die volgorde is de reden dat een kill switch bestaat, en Windows kan er een benaderen zonder tweede product.
Twee methoden zijn de moeite waard. Ze falen op verschillende plekken, en geen van beide is een volledig antwoord.
Methode één: het programma alleen op één profiel toestaan
De Windows-firewall beperkt regels tot de profielen Domain, Private en Public. De truc is om de tunneladapter de ene categorie te geven en de fysieke adapter de andere. Daarna schrijf je een uitgaande regel die het beschermde programma op het tunnelprofiel toestaat en het overal elders blokkeert. De firewall leest de categorie, niet de naam van de adapter.
Zet eerst de VPN-verbinding op Private en het fysieke netwerk op Public. Voeg daarna een blokkeerregel toe voor het programma die geldt voor de profielen die je niet wilt. Bevestig daarna de toewijzing met Get-NetConnectionProfile, want de regel volgt precies die toewijzing.
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
New-NetFirewallRule -DisplayName 'Block browser off VPN' -Direction Outbound `
-Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Block -Profile Public
New-NetFirewallRule -DisplayName 'Allow browser on VPN' -Direction Outbound `
-Program 'C:\Program Files\Mozilla Firefox\firefox.exe' -Action Allow -Profile Private
De zwakte is structureel. Een profielregel volgt de categorie, dus wanneer Windows een hotelnetwerk opnieuw classificeert, kan de blokkade ophouden te gelden. Niets in de regellijst verandert wanneer dat gebeurt.
Methode twee: de fysieke standaardroute verwijderen
De routeringsaanpak is grover en veel makkelijker te controleren. Noteer de fysieke gateway, laat de VPN zijn eigen standaardroute met een lagere metriek installeren en verwijder daarna de fysieke standaard. Niets anders kan dan nog verkeer dragen.
route print -4
route delete 0.0.0.0 mask 0.0.0.0 192.168.50.1
route print -4 | findstr /c:"0.0.0.0"
Wanneer de client sterft, verdwijnt de VPN-route met zijn adapter. De machine gaat offline in plaats van te lekken, en dat is precies wat een kill switch hoort te produceren.
Twee details bepalen of het een week overleeft. DHCP zet de gateway terug telkens wanneer de verbinding hakkelt. Een fysieke adapter met een statisch adres vermijdt die verrassing. Ook het adres van de VPN-server zelf moet bereikbaar blijven. Zonder dat hostpad kan de client nooit opnieuw verbinden na de onderbreking die de blokkade activeerde.
Methode drie: geen gateway, één blijvende hostroute
De derde optie begint met het wissen van de gateway uit de adapterinstellingen. Daarna vervangt één blijvende route naar het VPN-eindpunt hem. De machine kan dan met de server praten en met niets anders tot de tunnel omhoog komt.
route -p add 198.51.100.44 mask 255.255.255.255 192.168.50.1 metric 1
route print -4 | findstr 198.51.100.44
Het herstellen van de gateway herstelt gewoon internet, wat dit een schone aan- en uitschakelaar maakt. Het hangt niet af van een script dat interfacegebeurtenissen volgt. Het maakt ook niet uit hoe het netwerk wordt gecategoriseerd.
De prijs is volledige isolatie zolang de tunnel omlaag is. Updates stoppen, en de download die de oefening uitlokte ook. Op een werklaptop is dat vaak juist, terwijl het op een persoonlijke machine een bewust te nemen beslissing is.
Waarom het globuspictogram niets bewijst
Windows meldt bereikbaarheid via een test tegen een Microsoft-eindpunt. Die test zegt niets over je tunnel. Een verbonden tunnel kan achter een globus zitten die geen internet meldt, en een dode kan een gezonde verbinding tonen.
Test door het clientproces te doden en probeer daarna een openbaar adres op nummer te bereiken. Een naamopzoeking kan uit de cache worden beantwoord, dus noch het pictogram noch een DNS-antwoord is bewijs.
Wat je na een echte onderbreking vastlegt
Voer de test uit als een reeks en niet als één controle. Dood het proces in plaats van te verbreken en probeer daarna een numeriek adres in beide families. Herstel daarna de client en bevestig dat hij zijn eigen server nog bereikt via de route die je hebt behouden.
taskkill /IM openvpn-gui.exe /F
ping -4 198.51.100.44
ping -6 2606:4700:4700::1111
route print -4 | findstr /c:"0.0.0.0"
Herhaal de reeks na slaap, na een wifi-wissel en na de overstap van kabel naar draadloos. Juist bij die overgangen falen zowel de profielmethode als het DHCP-gedrag. Een regel die op een bureau standhoudt, houdt niet per se stand in een hotel.
Schrijf de ongedaanmakingsstap naast elke regel en route. Microsoft documenteert het aanmaken van uitgaande regels in zijn referentie voor Windows-firewallregels, en dat is een betere bron dan een handleiding met alleen schermafbeeldingen.