Am Freitag ging es. Am Montag antwortet derselbe Windows-Client mit einem Dialog, der sagt, der Verbindungsversuch sei fehlgeschlagen, und der Satz darunter ist einer, den Sie schon bei einem Dutzend unzusammenhängender Probleme gesehen haben. Dieser Dialog ist das Ende einer Kette, nicht ihr Anfang. Windows verbirgt die Stufe, auf der der Versuch tatsächlich gestorben ist, und zwei kleine Beweise benennen sie: der numerische Ergebniscode und ein RasClient-Ereignis aus derselben Minute. Hier ist die Reihenfolge, die ich verwende — den Versuch festnageln, den Code lesen, das Ereignis holen und dann genau eine Schicht ändern.

Der Dialogtext ist der letzte Schritt, nicht die Ursache

Der Satz, den Sie lesen, wird ausgewählt, nachdem sich der Versuch bereits abgewickelt hat. "Die Verbindung wurde vom Remotecomputer getrennt, bevor die Verbindung hergestellt wurde" erscheint, wenn ein Server mitten in der Aushandlung auflegt, wenn IPsec fehlschlägt, bevor Ihr Benutzername überhaupt gesendet wurde, und wenn eine Richtlinie den Tunnel rundheraus ablehnt. Drei verschiedene Verursacher, ein Satz. Behandeln Sie die Formulierung als Symptomklasse und lassen Sie sie nichts steuern, bis der Code ihr zustimmt.

Was Sie noch festhalten können, ist der Versuch selbst. Notieren Sie den Verbindungsnamen, den im Profil gespeicherten Tunneltyp — PPTP, L2TP/IPsec, SSTP oder IKEv2 — die Uhrzeit auf die Sekunde und den Code. Wenn Sie nicht sicher sind, welches Protokoll tatsächlich lief, öffnen Sie %APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk und lesen Sie den Eintrag, statt dem Gedächtnis zu vertrauen; ein Profil, das für ein neues Protokoll wiederverwendet wird, behält seinen alten Anzeigenamen.

Lesen Sie die Nummer, bevor Sie die Worte lesen

Codes fallen in drei Stufen, und die Stufe zählt mehr als die genaue Formulierung: ein Authentifizierungsaustausch, der erreicht und abgelehnt wurde, ein Server, der nie antwortete, oder eine Aushandlung, die zusammenbrach, nachdem die Verbindung stand. 691 ist die erste Art — die Anmeldeinformationsprüfung lief und scheiterte, sei es wegen eines falschen Passworts, eines gesperrten oder abgelaufenen Kontos oder eines Authentifizierungsprotokolls, das der Server nicht akzeptiert. 812 ist ebenfalls eine Ablehnung, aber mit gültigen Anmeldeinformationen: eine Richtlinie auf dem Remotezugriffsserver entschied gegen Sie. Microsoft führt die kanonische Liste der Fehlercodes für DFÜ- und VPN-Verbindungen, und es lohnt sich, Ihre Nummer dort zu lesen, bevor Sie den Meldungstext durchsuchen.

809 ist die entgegengesetzte Klasse: es kam nichts zurück. Das ist ein Pfadproblem — TCP 443 für SSTP gefiltert, GRE für PPTP blockiert, UDP 500 und 4500 oder ESP für IPsec-Passthrough verworfen. Ein neues Passwort kann das nicht beheben, ein frisches Zertifikat ebenso wenig. 720 bedeutet, dass die Verbindung stand und PPP die Aushandlung nie abschloss, was auf eine Protokollunverträglichkeit oder einen Server hindeutet, der keine Adresse zuweisen konnte. 789, oder 13801 bei IKEv2, ist Identität innerhalb von IPsec: ein Zertifikat, dessen Subject nicht zum gewählten Namen passt, eine nicht vertrauenswürdige Kette oder ein vorab geteilter Schlüssel, der sich zwischen den beiden Enden unterscheidet.

Holen Sie das RasClient-Ereignis für dieselbe Minute

In der Ereignisanzeige ist Windows Logs > Application, gefiltert nach Quelle RasClient, der erste Ort zum Nachsehen. Microsofts Beschreibung von Fehler 720 verweist auf Ereignis 20227 in diesem Protokoll. Derselbe Anbieter gibt andere Kennungen für andere Ergebnisse aus, also lesen Sie die Meldung und den eingebetteten Ergebniscode, statt die ID als Diagnose zu behandeln; ein generischer Dialog plus eine 20227, die 720 trägt, ist bereits eine viel engere Geschichte.

Aus PowerShell, ohne sich durch die GUI zu klicken:

Get-WinEvent -FilterHashtable @{
  LogName      = 'Application'
  ProviderName = 'RasClient'
  StartTime    = (Get-Date).AddMinutes(-15)
} | Format-List TimeCreated, Id, Message

Ein leeres Ergebnis ist aufschlussreich. Es bedeutet meist, dass der Wählvorgang nie weit genug kam, als dass RAS etwas protokolliert hätte, oder dass die fehlgeschlagene Software gar nicht der native Client ist — Clients von Drittanbietern führen ihre eigene Diagnose und schreiben oft nichts ins Application-Protokoll. Prüfen Sie das Protokoll des Herstellers, bevor Sie schließen, dass die Ereignisprotokollierung defekt ist.

Bauen Sie eine Zeitachse statt eines Haufens von Ereignissen

Wiederholungsschleifen erzeugen Rauschen. Fünf automatische Wiederverbindungen hinterlassen einen Cluster von Ereignissen, und die Versuchung ist, sie als eine Sequenz mit einer einzigen Ursache zu lesen. Es sind fünf getrennte Versuche, und nur einige davon erreichten einen Server. Nehmen Sie ein Zeitfenster von zwei oder drei Minuten, einen Verbindungsnamen, und listen Sie jedes Ereignis mit seinem eigenen Code auf, bevor Sie irgendetwas interpretieren.

Fragen Sie dann, wo der Versuch stehen blieb. Wenn das Gateway oder das Authentifizierungs-Backend für diesen Zeitstempel keinen Datensatz hat, hat der Client es nie erreicht, und Sie sehen ein Erreichbarkeitsproblem. Wenn das Backend eine Anfrage und eine Ablehnung zeigt, wurde die Entscheidung dort getroffen, und die Klasse Anmeldeinformationen oder Richtlinie gilt. Vergleichen Sie Uhren, bevor Sie Zeiten vergleichen: Clients melden Ortszeit, viele Gateways protokollieren UTC, und ein Versatz lässt ein perfekt korreliertes Paar unzusammenhängend aussehen.

Für eine wiederholbare Aufzeichnung wählen Sie über die Kommandozeile und lassen Sie das Ergebnis ausgeben:

rasdial "Office VPN"
rasdial "Office VPN" /disconnect

Die Konsole zeigt die Nummer, die die GUI hinter freundlichem Text verbirgt, und ein zweiter Lauf sagt Ihnen, ob der Code stabil oder sporadisch ist.

Was jede Stufe Ihnen zu ändern sagt

Die Stufe zu benennen ist nur nützlich, wenn es das Änderungsset auf eine Schicht schrumpft:

  • 691 — Authentifizierung: die EAP-Methode, die der Client anbietet, gegen die, die der Server akzeptiert, Kontostatus, Passwortablauf, Einwählberechtigung.
  • 812 — Serverrichtlinie: die Remotezugriffsrichtlinie oder NPS-Regel, die zu diesem Benutzer und diesem Zeitfenster passt.
  • 809 — Erreichbarkeit: Firewallregeln auf dem Pfad, NAT und Protokoll-Passthrough, der Port, den der gewählte Tunneltyp braucht.
  • 720 — PPP-Aushandlung: Unverträglichkeit des Authentifizierungsprotokolls, Adresszuweisung, eine PPP-Einstellung auf Serverseite.
  • 789 / 13801 — IPsec-Identität: Zertifikat-Subject gegen den gewählten Namen, Vertrauenskette, vorab geteilter Schlüssel.

Ändern Sie eines davon, testen Sie dasselbe Profil erneut und notieren Sie den neuen Code. Ein anderer Code nach einer Änderung ist Fortschritt statt Widerspruch: Sie haben den Fehler auf eine spätere Stufe verschoben, und so sieht die Reparatur eines mehrstufigen Handshakes aus. Was Sie nicht tun sollten, ist Firewall, Zertifikat und Passwort in einem Durchgang zu ändern und dann dem letzten den Erfolg zuzuschreiben.

Teilen Sie die Beweise, nicht die Umgebung

Ereignismeldungen sind reicher, als sie aussehen. Sie tragen den Verbindungsnamen, das Konto, oft den internen Namen oder die Adresse des Gateways und manchmal einen Zertifikatfingerabdruck. Bewahren Sie das Original dort auf, wo es hingehört, und bauen Sie für alle anderen eine separate geschwärzte Kopie; das Nacherzählen der Zeitachse aus dem Gedächtnis verliert genau die Details, die sie nützlich machen.

Eine Übergabe, die bearbeitet wird, braucht fünf Felder: den Code, die Stufe, zu der er gehört, Client und Tunneltyp, den Zeitstempel mit seiner Zeitzone und ob das Gateway die Anfrage überhaupt gesehen hat. Alles andere ist optional. Mit diesen fünf kann die nächste Person eine Anmeldeinformations-Diskussion von einer Routing-Diskussion unterscheiden, ohne die Untersuchung zu wiederholen.

Bevor Sie etwas abschließen, wiederholen Sie den Versuch mit demselben Profil und bestätigen Sie, wo der Code jetzt landet. Ein Erfolg beendet es; ein anderer Fehler bedeutet, dass die ursprüngliche Stufe behoben ist und Sie die nächste in der Hand haben.

Ähnliche Artikel