Sie installieren das SSTP-Plugin, der Radiobutton erscheint im Netzwerk-Editor, Sie tragen Gateway und Benutzernamen ein, und das Profil scheitert mit einer allgemeinen Fehlermeldung, bevor es überhaupt nach einem Passwort fragt. Nichts an dieser Abfolge ist ungewöhnlich, und nichts darin beweist, dass die Tunnelsoftware installiert ist. Eine SSTP-Verbindung setzt sich aus Teilen zusammen, die getrennt ausgeliefert werden: ein VPN-Plugin, das NetworkManager starten kann, das SSTP-Clientprogramm, das die TLS- und PPP-Sitzung besitzt, der PPP-Daemon darunter und ein Geheimnisspeicher, den die Verbindung lesen darf.

Was der Menüeintrag beiträgt und was nicht

Das Plugin steuert eine Dienstbeschreibung bei, die NetworkManager sagt, wie es zu starten ist, und auf den meisten Distributionen einen kleinen Editor, der das Formular zeichnet. Das ist der gesamte Umfang des Menüeintrags. Das Clientprogramm stammt aus einem anderen Quellpaket, und das README des Plugins benennt die Trennung direkt: Es ist ein Plugin, kein Client.

Der Client braucht dann PPP, weil SSTP eine PPP-Sitzung in einer TLS-Verbindung transportiert. Ohne pppd kann der Tunnel seinen TLS-Handshake abschließen und trotzdem am ersten Kontrollrahmen sterben, was wie ein Anmeldedatenproblem aussieht und keines ist. Unter Debian und Ubuntu kommen die Teile als network-manager-sstp, sstp-client und ppp, und nur das erste zu installieren ist der häufigste Grund, warum ein Formular jedes Feld annimmt, die Verbindung aber nie zustande kommt.

Die Desktop-Wahl fügt eine weitere Trennung hinzu. Plasma bearbeitet Profile über plasma-nm, das eine eigene SSTP-Komponente braucht und dieselbe Dienstbeschreibung liest, sodass ein Editor ohne SSTP-Eintrag und eine CLI, die Profile problemlos erstellt, eine fehlende Editorhälfte sind und keine kaputte Laufzeit.

Lesen Sie die erste fehlschlagende Stufe, bevor Sie irgendetwas neu installieren

Ein fehlgeschlagener SSTP-Versuch durchläuft Stufen in fester Reihenfolge, und die Stufe, die gescheitert ist, sagt Ihnen, welche Komponente Sie sich ansehen müssen.

Das Starten des Plugins ist die erste, und ein Fehler dort erzeugt eine Meldung über den VPN-Dienst statt über den Server. Als Nächstes kommt eine TCP-Verbindung zu Port 443; eine Ablehnung oder Zeitüberschreitung ist hier ein Erreichbarkeitsproblem, kein TLS-Problem. Dann der TLS-Handshake und die Serveridentitätsprüfung, dann PPP-Verhandlung und Kontenanmeldung und schließlich Adresszuweisung und Routen. Beobachten Sie journalctl -f -u NetworkManager, während Sie das Profil einmal aktivieren, und lesen Sie die erste konkrete Zeile statt der letzten allgemeinen.

Diese Reihenfolge erklärt eine häufige Fehldeutung. Eine Zertifikatsbeschwerde wird gemeldet, bevor Anmeldedaten gesendet werden, also kann ein Passwortwechsel nicht helfen; eine PPP-Authentifizierungsablehnung kommt nach einem erfolgreichen Handshake, also kann auch ein Zertifikatstausch nicht helfen. Behalten Sie den ersten Fehler und seine Stufe, und Sie haben eine Diagnose statt eines Symptoms.

Zertifikatsvertrauen und Kontologin sind getrennte Tore

Der Handshake prüft, dass der Server der gewünschte ist, anhand von Aussteller und Namen, die Sie konfiguriert haben. Erst danach bietet die PPP-Schicht Ihren Benutzernamen und Ihr Passwort der Authentifizierungsmethode des Gateways an. Zwei unabhängige Prüfungen also, in fester Reihenfolge bewertet, mit getrennten Einstellungen für jede. Nichts, was im Passwortfeld getippt wird, kann die erste beeinflussen.

Ein Profil, das dem falschen Aussteller vertraut, scheitert am ersten Tor mit einem Identitätsfehler. Ein Profil, das ihm korrekt vertraut, aber ein veraltetes Passwort speichert, scheitert am zweiten mit einer Authentifizierungsablehnung. Beide sehen aus wie ein VPN, das sich nicht verbindet, und keines wird durch das Mittel des anderen behoben.

Holen Sie den erwarteten Aussteller und Servernamen von dem, der das Gateway betreibt, statt die Editor-Standardwerte zu raten, und notieren Sie die geforderte Authentifizierungsmethode. Wenn die Organisation eine Methode braucht, die das Plugin nicht ausdrücken kann, ist die ehrliche Antwort ein freigegebener Client, der es kann, und kein Profil mit abgeschalteter Prüfung, damit der Fehler verschwindet.

Lassen Sie einen Eigentümer Profil und Geheimnisse halten

Sobald das Profil existiert, aktivieren Sie es über NetworkManager und lassen Sie diesen Manager die resultierenden Routen und Resolver-Änderungen besitzen. Einen zweiten eigenständigen SSTP-Client zu starten, während NetworkManager die Verbindung bereits führt, gibt Ihnen zwei Routensätze, zwei DNS-Konfigurationen und eine Debugging-Sitzung ohne eine einzige Quelle der Wahrheit.

Auch Geheimnisse haben einen Eigentümer. Eine Verbindung, die für systemweite Nutzung markiert ist, speichert Anmeldedaten anders als eine, die auf Ihre Benutzersitzung beschränkt ist, und ein von Hand in einer Schlüsseldatei erstelltes Profil ist möglicherweise nicht für den Geheimnisagenten lesbar, der das Passwort interaktiv liefern soll. Prüfen Sie, welchen Kontext das Profil erwartet, bevor Sie ein Passwort neu eingeben, das nie das Problem war. Dasselbe Profil aus einem Terminal mit nmcli zu aktivieren ist der schnellste Test, denn eine Eingabeaufforderung, die nie erscheint, sagt Ihnen, dass der Agent ohnehin nichts anzubieten hatte.

Prüfen Sie Tunnel, Routen und Resolver getrennt

Eine Verbunden-Anzeige behauptet nur, dass die Strecke steht. Prüfen Sie das Ziel, das Sie tatsächlich brauchen, die Route, die es trägt, und den verwendeten Resolver, eines nach dem anderen; jedes kann falsch sein, während die anderen beiden in Ordnung sind.

Erfassen Sie bei einem fehlgeschlagenen Versuch die Version jeder Komponente und den bereinigten Fehlertext. Teilen Sie diese, nicht das vollständige Profil, denn das Profil kann das vorab geteilte Geheimnis und Ihre gespeicherten Anmeldedaten enthalten.

Trennen Sie schließlich die Verbindung, verbinden Sie erneut und starten Sie einmal neu. Wenn das Profil nur beim ersten Versuch funktioniert, liegt das Problem im Umgang mit Geheimnissen oder im Eigentum an den Routen, und beides ist jetzt billiger zu beheben als mitten im Arbeitstag.

Ähnliche Artikel