So entfernen Sie eine veraltete Route, die ein Windows-VPN hinterlassen hat
Finden Sie den Eintrag, der wirklich veraltet ist, sehen Sie die Entfernung gegen den richtigen Richtlinienspeicher vorab an und bestätigen Sie, dass die Suche die erwartete Schnittstelle wählt.
Ihre Sitzung endete vor Stunden, der Adapter ist weg, und die Route steht immer noch in der Tabelle und zeigt auf Schnittstelle 42. Das Löschen dieser Zeile kostet einen Befehl; die Entscheidung, dass es die richtige Zeile ist, kostet vier Prüfungen. Eine Routentabelle wird geteilt, daher entfernt eine breite Löschung Pfade, die andere Verbindungen noch nutzen, einschließlich des Pfades, der den Tunnel trägt. Jeder Schritt unten engt das Ziel ein, bis nur noch ein Eintrag passen kann.
1. Entscheiden Sie, ob der Eintrag veraltet oder beabsichtigt ist
Ein Eintrag, der einen Neustart überlebt hat, wurde irgendwo geschrieben, und dieses Irgendwo ist meist eine Entscheidung und kein Unfall. Split-Tunneling hängt von Routen ab, die genau wie Überbleibsel aussehen, und eine Richtlinie, die ein Präfix durch den Tunnel schiebt, ist in einer einzelnen Auflistung nicht von einem veralteten Eintrag zu unterscheiden. Fragen Sie, wann die Route aufgetaucht ist: Eine, die nur existiert, solange der Tunnel steht, gehört zur Konfiguration des Clients, also ist ein Aufräumbefehl das falsche Werkzeug. Entfernen Sie eine bewusste Route, und die nächste Verbindung scheitert an dem Schritt, den niemand beobachtet.
Die Endpunkt-Route verdient ihre eigene Warnung. Wenn ein Client eine Host-Route zum VPN-Server hinzufügt, damit verschlüsselte Pakete ihn über die lokale Verbindung erreichen, bringt das Löschen dieser Route den Tunnel beim nächsten Verbindungsaufbau zum Einsturz, und das Symptom liest sich wie ein Serverfehler. Vergleichen Sie das Ziel mit der Adresse, mit der sich der Client verbindet, bevor Sie irgendetwas anfassen: Eine einzelne öffentliche Adresse, die zum VPN-Server passt, ist der äußere Pfad und kein Müll.
2. Notieren Sie die vier Felder, die den Eintrag benennen
Ein Präfix allein ist keine Identität, denn zwei Schnittstellen können Routen zum selben Ziel halten. Notieren Sie Zielpräfix, Schnittstellenindex, nächsten Hop und Richtlinienspeicher, da diese vier Werte genau einen Eintrag beschreiben. Eine Auflistung liefert alle davon:
Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric
Das Sortieren nach Metrik hebt die Routen hervor, die die Maschine tatsächlich bevorzugt, und dort sitzt meist ein Überbleibsel. Vergleichen Sie den Eintrag, solange der Tunnel steht, und erneut, nachdem er gefallen ist: Eine Route, die mit dem Adapter verschwindet, gehörte dem Client, und eine, die bleibt, wurde von etwas anderem geschrieben. Der Richtlinienspeicher ist das Feld, das Leute überspringen, und es ist das, das ein Wiederauftauchen erklärt, denn ein aus dem aktiven Speicher entfernter Eintrag kehrt nach der nächsten Richtlinienaktualisierung zurück. Schreiben Sie die vier Werte auf, bevor Sie irgendetwas starten, das den Zustand ändert.
3. Sehen Sie die Entfernung vorab an, dann entfernen Sie einen Eintrag
Remove-NetRoute akzeptiert dasselbe Präfix und denselben Schnittstellenindex, die Get-NetRoute ausgegeben hat, und hat einen Vorschauschalter, sodass nichts geraten werden muss. Führen Sie das Paar in dieser Reihenfolge aus:
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42 -WhatIf
Remove-NetRoute -DestinationPrefix 10.20.0.0/16 -InterfaceIndex 42
Die Vorschau gibt das Objekt aus, das sie löschen würde, also vergleichen Sie Präfix, Schnittstelle und nächsten Hop mit Ihren Notizen, bevor Sie den Schalter fallen lassen. Keine der beiden Zeilen erreicht einen persistenten Eintrag, denn der aktive Speicher ist die Vorgabe; fügen Sie -PolicyStore PersistentStore hinzu, wenn die identifizierte Route dort lebt, sonst scheint die Entfernung zu wirken und der Eintrag kehrt bei der nächsten Richtlinienaktualisierung zurück. Halten Sie einen außerbandigen Wiederherstellungspfad bereit, wenn die Sitzung entfernt ist, denn das Löschen der Route, die Ihre eigene Verbindung trägt, beendet sie. Greifen Sie niemals zu einem Befehl, der die Tabelle leert.
4. Finden Sie heraus, welche Komponente sie zurückbringt
Ein Löschen ist keine Reparatur, solange der Besitzer noch so konfiguriert ist, dass er die Route installiert. Der Besitzer ist meist einer von drei: das Profil des VPN-Clients mit seiner Split-Tunnel-Liste, ein Skript oder eine geplante Aufgabe, die Routen bei der Anmeldung hinzufügt, oder eine Domänenrichtlinie, die auf die Maschine angewendet wird. Prüfen Sie zuerst das Profil, denn es läuft bei jeder Verbindung:
Get-VpnConnection | Select-Object Name,SplitTunneling,ServerAddress
Get-NetRoute -PolicyStore PersistentStore
Persistente Einträge sind sichtbar, ohne etwas zu verbinden, also lebt eine Route, die nach einem Neustart ohne VPN-Sitzung zurückkommt, fast immer in diesem Speicher oder in einem Startskript. Korrigieren Sie den Besitzer dort, und das manuelle Löschen wird zur Prüfung statt zur Behandlung.
5. Prüfen Sie die Suche, die Nachbarn und die Notiz
Ein sauberes Ergebnis ist nicht „die Route ist weg“; es ist eine Suche, die jetzt die Schnittstelle wählt, die Sie erwartet haben. Fragen Sie die Maschine, wohin ein Paket zum betroffenen Präfix gehen würde, denn ein Überbleibsel nennt noch den toten Index, während eine saubere Antwort die Schnittstelle auf dem Link oder das richtige Gateway nennt. Find-NetRoute beantwortet das für eine Adresse nach der anderen:
Find-NetRoute -RemoteIPAddress 10.20.4.7
Testen Sie dann einen Nachbarn: Wählen Sie ein zweites Präfix, das ein Split-Tunnel noch braucht, und bestätigen Sie, dass seine Suche unverändert ist, denn eine Route zu viel zu entfernen ist der Fehler, zu dem diese Bereinigung einlädt. Versuchen Sie die Anwendung erneut, die ursprünglich gescheitert ist, und notieren Sie, welche Komponente das Präfix jetzt besitzt. Die Microsoft-Dokumentation zu Get-NetRoute listet die Felder auf, die Sie in Schritt zwei notiert haben. In sechs Monaten ist genau diese Notiz das, was verhindert, dass derselbe Eintrag zweimal diagnostiziert wird.