Kill switch i Windows uden ekstra software: profiler eller ruter?
Firewallprofiler følger nettets kategori, ruter følger adapteret. Sammenlign begge, og test derefter nedbrudstilfældet, hvor tunnelen er væk, og ikonet lyver.
Klienten dør midt i en download, og ikonet i proceslinjen forsvinder. Overførslen fortsætter over hjemmeforbindelsen. Netop den sekvens er grunden til, at en kill switch findes, og Windows kan tilnærme sig en uden et andet produkt.
To metoder er værd at kende. De fejler forskellige steder, og ingen af dem er et fuldstændigt svar.
Metode et: tillad programmet på kun én profil
Windows Firewall begrænser regler til profilerne Domain, Private og Public. Tricket er at give tunneadapteret den ene kategori og det fysiske adapter den anden. Derefter skriver du en udgående regel, der tillader det beskyttede program på tunnelprofilen og blokerer det alle andre steder. Firewallen læser kategorien, ikke adapterets navn.
Sæt først VPN-forbindelsen til Private og det fysiske net til Public. Tilføj derefter en blokeringsregel for programmet, som gælder for de profiler, du ikke vil have. Bekræft bagefter tildelingen med Get-NetConnectionProfile, fordi det er den tildeling, reglen følger.
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
Svagheden er strukturel. En profilregel følger kategorien, så når Windows omklassificerer et hotelnet, kan blokeringen holde op med at gælde. Intet på regellisten ændrer sig, når det sker.
Metode to: fjern den fysiske standardrute
Rutetilgangen er grovere og langt lettere at revidere. Noter den fysiske gateway, lad VPN installere sin egen standardrute med lavere metrik, og slet derefter den fysiske standardrute. Intet andet kan så bære trafik.
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"
Når klienten dør, forsvinder VPN-ruten sammen med sit adapter. Maskinen går offline i stedet for at lække, og det er præcis, hvad en kill switch skal frembringe.
To detaljer afgør, om det holder en uge. DHCP sætter gatewayen tilbage, hver gang forbindelsen blafrer. Et fysisk adapter med statisk adresse undgår den overraskelse. Selve VPN-serverens adresse skal også forblive nåbar. Uden den værtsrute kan klienten aldrig forbinde igen efter det nedbrud, der udløste blokeringen.
Metode tre: ingen gateway, én vedvarende værtsrute
Den tredje mulighed begynder med at rydde gatewayen fra adapterets indstillinger. Derefter erstatter en enkelt vedvarende rute til VPN-endepunktet den. Maskinen kan så tale med serveren og med intet andet, indtil tunnelen kommer op.
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
Genopretning af gatewayen genopretter almindeligt internet, hvilket gør dette til en ren tænd-og-sluk-kontakt. Den afhænger ikke af et script, der overvåger grænsefladehændelser. Den er også ligeglad med, hvordan nettet kategoriseres.
Prisen er total isolation, mens tunnelen er nede. Opdateringer stopper, og det samme gør netop den download, der satte øvelsen i gang. På en arbejdsbærbar er det ofte rigtigt, mens det på en personlig maskine er en beslutning, der skal træffes bevidst.
Hvorfor globusikonet ikke beviser noget
Windows rapporterer nåbarhed gennem en sondering mod et Microsoft-endepunkt. Den sondering siger intet om din tunnel. En tilsluttet tunnel kan sidde bag en globus, der melder ingen internet, og en død tunnel kan vise en sund forbindelse.
Test ved at dræbe klientprocessen og derefter forsøge at nå en offentlig adresse på nummer. Et navneopslag kan besvares fra cachen, så hverken ikonet eller et DNS-svar er bevis.
Hvad der skal noteres efter et rigtigt nedbrud
Kør testen som en sekvens i stedet for en enkelt kontrol. Dræb processen i stedet for at afbryde forbindelsen, og prøv derefter en numerisk adresse på begge familier. Gendan bagefter klienten, og bekræft at den stadig kan nå sin egen server gennem den rute, du beholdt.
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"
Gentag sekvensen efter dvale, efter et Wi-Fi-skift og efter skift fra kabel til trådløst. Det er ved de overgange, at både profilmetoden og DHCP-adfærden fejler. En regel, der holder på et skrivebord, holder ikke nødvendigvis på et hotel.
Skriv fortrydelsestrinet ved siden af hver regel og rute. Microsoft dokumenterer oprettelse af udgående regler i sin reference for Windows Firewall-regler, og det er en bedre kilde end en gennemgang kun med skærmbilleder.