Warum Ihre Windows-VPN-Routing-Tabelle 0.0.0.0/1 und 128.0.0.0/1 zeigt
Die Option für das Standard-Gateway fügt zwei Halb-Standardrouten hinzu, nicht eine. Lesen Sie Präfix, Metrik und Schnittstelle, bevor Sie eine Route auf dem Client hinzufügen oder entfernen.
Stellen Sie eine Verbindung zu einem Windows-VPN her und öffnen Sie die Routing-Tabelle: Zwei Einträge fallen auf, 0.0.0.0/1 und 128.0.0.0/1. Sie sind kein Tippfehler und ersetzen nicht die Standardroute. Ob sie erscheinen, hängt von einer Profileinstellung ab, und das Paar ist die Art, wie ein vollständiger Tunnel aufgebaut wird, nicht eine Split-Tunnel-Funktion. Lesen Sie Option, Präfix und Schnittstelle zusammen, bevor Sie eine einzige Zeile ändern.
Was die Option für das Standard-Gateway installiert
Die Profileinstellung, die alles durch den Tunnel schickt, funktioniert, indem sie diese beiden Präfixe hinzufügt. Entfernen Sie die Option, verschwinden sie und hinterlassen eine Route, die nur das Subnetz abdeckt, das der Tunneladapter erhalten hat. Das Kontrollkästchen steuert das Paar; es schreibt die einzelne Standardroute nicht um. Deshalb sieht die Tabelle nach dem Entfernen des Häkchens wie eine teilweise Umschreibung aus und nicht wie eine Löschung.
0.0.0.0/1 deckt die untere Hälfte des IPv4-Raums ab und 128.0.0.0/1 die obere Hälfte, zusammen decken sie also jede Unicast-Adresse ab. Jedes ist spezifischer als eine Standardroute 0.0.0.0/0, was bedeutet, dass die Zuordnung über das längste Präfix gewöhnlichen Datenverkehr in den Tunnel schickt, während die physische Standardroute bleibt, wo sie war. Diese Standardroute zu behalten ist keine Kosmetik: Die Pakete, die die verschlüsselte Nutzlast einpacken, sind an die öffentliche Adresse des Servers adressiert und müssen über den physischen Adapter hinausgehen. Ersetzen Sie die Standardroute, statt sie aufzuteilen, und der Transport des Tunnels selbst versucht, in den Tunnel zu gelangen, was eine Schleife und keine Verbindung ist.
Eine wörtliche 0.0.0.0/0, die auf den VPN-Adapter zeigt, ist daher ein Grund zum Anhalten. Der native Client schreibt das normalerweise nicht, also hat eine manuelle Route oder die Konfiguration eines anderen Clients die Tabelle hinter Ihrem Rücken verändert. Finden Sie sie, bevor Sie irgendetwas weiter unten debuggen.
Abbau ist billiger als eine Gateway-Adresse zu sparen
Abbau ist das praktische Argument für zwei Einträge statt einen. Der Client besitzt während der Verbindung genau zwei Routen und löscht sie beim Trennen, sodass bleibt, was der physische Adapter in diesem Moment hält. Ein Client, der die einzelne Standardroute ersetzt hätte, müsste sich das vorherige Gateway merken und könnte nach einer Änderung des DHCP-Lease eines wiederherstellen, das nicht mehr existiert. Zwei eigene Einträge tragen keinen solchen Zustand.
Andere Clients kommen zum selben Entwurf. Ein OpenVPN-Profil mit redirect-gateway def1 installiert diese beiden Präfixe, statt die Standardroute zu löschen, und der Windows-Client folgt dem Muster aus demselben Routinggrund.
Deshalb kann eine Tabelle wie ein vollständiger Tunnel aussehen, wenn Sie eine Aufteilung erwartet haben. Das Paar ist die Art, wie der vollständige Tunnel aufgebaut wird, kein Beweis für einen Split-Tunnel-Fehler. Ist das Profil auf das entfernte Gateway eingestellt, wird alles geroutet, was auch immer eine lokale Anwendung noch erreicht.
Das längste Präfix gewinnt vor jeder Metrik
Die Präfixlänge entscheidet über die Suche vor jedem anderen Feld. Die Metrik löst nur Gleichstand zwischen Routen mit identischem Präfix auf, sodass ein /1-Eintrag eine /0-Standardroute selbst dann schlägt, wenn seine Metrik schlechter ist. Die Schnittstellenbindung entscheidet, was übrig bleibt, wenn zwei Routen ein Präfix teilen und Windows wählen muss, welcher Adapter das Paket sendet.
route print -4
Get-NetRoute -AddressFamily IPv4 | Sort-Object DestinationPrefix
Find-NetRoute -RemoteIPAddress 10.50.5.20
Eine Split-Tunnel-Tabelle enthält die physische Standardroute, die beiden Halb-Standardrouten, die Route für das Tunnel-Subnetz und jedes Büro-Präfix, das Sie hinzugefügt haben. Die physische Standardroute kann je nach Client und Profil auf einer niedrigeren oder höheren Metrik liegen, und solange das /1-Paar existiert, ändert dieser Unterschied nichts. Er ändert alles in dem Moment, in dem das Paar entfernt wird, und dann taucht ein veraltetes Gateway oder eine falsche Schnittstelle auf. Lesen Sie die ganze Tabelle statt der einen Zeile, die Sie ändern wollten.
Wählen Sie einen Eigentümer für das Büro-Präfix
Benennen Sie für einen Split-Tunnel nur das Präfix, das das VPN verwenden muss, und wählen Sie eine Art, es zu besitzen. Die Route auf die zugewiesene Tunneladresse zu richten funktioniert, bis sich diese Adresse ändert, während die Bindung an die Schnittstelle die Adresse überlebt, aber bricht, wenn der Index nach dem Neuaufbau des Profils neu vergeben wird. Das profilgebundene Cmdlet vermeidet beide Probleme, zum Preis, dass das Profil benötigt wird.
route -p add 10.50.0.0 mask 255.255.0.0 172.16.8.1
route -p add 10.50.0.0 mask 255.255.0.0 0.0.0.0 IF 31
Add-VpnConnectionRoute -ConnectionName Office -DestinationPrefix 10.50.0.0/16
Das Cmdlet bindet das Präfix an das benannte Profil, sodass die Route mit der Verbindung erscheint und mit ihr verschwindet, was ein verwalteter Laptop will. Eine persistente Route überlebt Neustarts und überlebt das Profil, das sie veranlasst hat, und so hinterlässt ein außer Dienst gestelltes VPN jahrelang Einträge. Wählen Sie eine Methode pro Präfix und notieren Sie die Wahl, denn eine persistente Route plus eine Profilroute für dasselbe Präfix erzeugen Duplikate, die sich beim Abbau nur mühsam entwirren lassen. Welche Sie auch wählen, die Eigentümerschaft sollte im Ticket sichtbar sein und nicht nur auf dem Rechner.
Eigentümerschaft ist die Frage, die dieser Abschnitt beantwortet, nicht die Syntax. Zwei Eigentümer für ein Präfix ist der Fehlermodus, den es zu vermeiden gilt.
Prüfen Sie mit einem Ziel, nicht mit einer Website
Testen Sie das Ziel, das den Tunnel durchqueren muss, nicht eine Website, die eine Ausgangsadresse meldet. Find-NetRoute liefert die gewählte Route und die Quelladresse, sodass Sie sehen, ob das Büro-Präfix oder die physische Standardroute gewonnen hat, und dann öffnen Sie die Freigabe selbst.
Find-NetRoute -RemoteIPAddress 10.50.5.20
Get-VpnConnection -Name Office
Eine Ausgangsadress-Website ist eine schwache Prüfung, weil DNS, IPv6 und ein Browser-Proxy diese Anfrage jeweils über einen anderen Weg schicken können. IPv4 und IPv6 haben im selben Dialog auch getrennte Einstellungen, und das Leeren eines Kästchens lässt die andere Familie unberührt, sodass ein Dual-Stack-Rechner IPv6 durch den Tunnel führen kann, während IPv4 der Split-Route folgt. Prüfen Sie beide Familien, bevor Sie das Profil als gesplittet bezeichnen. Stimmt die Route und der Dienst schlägt weiterhin fehl, ist die verbleibende Ebene Filterung und nicht Routing.
Eine clientverwaltete Firewall kann das Büro-Subnetz blockieren, obwohl die Routing-Tabelle perfekt ist. Diese Richtlinie gehört demjenigen, der das Profil verteilt hat, nicht der Person, die Routen bearbeitet.