Hersteller-VPN-App gegen NetworkManager: Wem gehört der Zustand?
Ein Profil benennt ein Plugin, nicht das Verhalten des Herstellerclients. Ordnen Sie zu, wer Registrierung, DNS, Sperrung und Updates besitzt, bevor Sie ein verwaltetes Notebook umstellen.
Ein Profil zu importieren ist nicht dasselbe wie einen Client zu ersetzen. NetworkManager speichert einen Plugin-Typ zusammen mit plugin-spezifischen Daten und Geheimnissen, und das Plugin, dem dieser Typ gehört, entscheidet, was die Verbindung leisten kann. Alles, was die Anwendung des Herstellers darüberlegt, von der Registrierung bis zur permanenten Sperre, lebt außerhalb der Datei. Ob der Wechsel sicher ist, hängt davon ab, auf welche dieser Schichten Sie sich tatsächlich verlassen.
Die Datei benennt ein Plugin, keine Funktionsmenge
Die Referenz für VPN-Einstellungen von NetworkManager beschreibt einen Diensttyp, der das Plugin auswählt, dazu ein undurchsichtiges Datenwörterbuch und ein Geheimniswörterbuch, die nur das Plugin auswertet. Das Profil ist ein Vertrag mit einer Implementierung, keine Beschreibung eines Verhaltens, das jeder Client nachbilden kann. Zwei Clients können dasselbe Protokoll sprechen und sich dennoch darin unterscheiden, was sie aushandeln und welche Datenpfade sie aktivieren. Ein Protokollname sagt Ihnen, was der Tunnel ist, nie, was der umgebende Client damit tut.
Vergleichen Sie also Anforderungen statt Hüllen. Die Frage ist nicht, ob die Alternative sich verbinden kann, denn das kann sie meist; sie ist, ob jede Anforderung, die den ursprünglichen Client akzeptabel machte, den Umzug übersteht. Schreiben Sie diese Anforderungen auf, bevor Sie irgendetwas installieren, sonst wird der Vergleich zur Jagd auf das, was zuerst bricht.
Was die Hersteller-App um den Tunnel herum ergänzt
Herstellerclients bündeln üblicherweise Registrierung und Geräte-Posture-Prüfungen, einen Zweitfaktor-Ablauf mit eigener Oberfläche, permanente Sperrung, einen Update-Kanal und Support-Werkzeuge. Einiges davon steht neben dem Protokoll, anderes ist ein separates Produkt, das lediglich einen Installer teilt. NetworkManager kann den Tunnel und sein Routing ersetzen, und Dispatcher-Skripte können Aktionen auslösen, wenn die Verbindung ihren Zustand ändert. Es bildet aber keine Sperr-Engine nach, keinen Zertifikatserneuerungsablauf und keine Annahme darüber, welcher Benutzer die Verbindung aufbauen darf.
Mehr Komponenten bedeuten nicht sicherer, und weniger bedeuten nicht schwächer. Die Frage ist, welche Komponente die Richtlinie durchsetzt, die Sie befolgen sollten. Wenn ein Prüfer fragt, was den Verkehr sperrt, wenn der Tunnel ausfällt, muss die Antwort etwas nennen, das es tatsächlich tut, und ein Profil, das nur verbindet, ist diese Antwort nicht.
Wo sich die Zuständigkeit tatsächlich unterscheidet
Lesen Sie dies als Zuständigkeitskarte statt als Checkliste, denn die Fehler unten sind Zuständigkeitslücken, und keine noch so große Clientkonfiguration schließt sie. Jede Zeile benennt die Schicht, die Seite, die sie heute meist hält, und wo die Lücke zuerst sichtbar wird.
| Layer | Vendor application | NetworkManager connection | Where the gap shows up |
|---|---|---|---|
| Enrollment and posture | built into the client | absent unless something else supplies it | a managed device fails its next posture check |
| Address and resolver authority | the client sets both | the plugin plus dispatcher scripts | names resolve through the wrong resolver after a state change |
| Blocking on drop | a bundled engine | nothing by default | traffic continues in the clear after the tunnel dies |
| Upgrade path | the vendor's own channel | the distribution package and its plugin | a plugin update changes behaviour with no vendor note |
| Diagnostics and support | vendor tooling with client state | journal and dispatcher output | support cannot see why negotiation failed |
Verknüpfen Sie jede Zeile mit einer Beobachtung, die Sie wiederholen können, statt mit einem Gefühl über den Client. Ein über den vorgesehenen Resolver aufgelöster Name, eine Route, die verschwindet, wenn der Tunnel stoppt, und eine gesperrte Verbindung nach einem simulierten Abbruch sind drei Beobachtungen, die zusammen den größten Teil der Tabelle abdecken. Schreiben Sie die Beobachtung neben die Anforderung, die sie belegt, und behalten Sie die gescheiterten, denn eine gescheiterte Beobachtung ist der einzige Teil des Protokolls, der den nächsten Vorfall vorhersagt.
Umstellen ohne überlappende Zuständigkeit
Den Herstellerclient und eine NetworkManager-Verbindung für denselben Dienst gleichzeitig laufen zu lassen, ist der häufigste Weg, auf dem diese Vergleiche schiefgehen. Beide installieren Routen, beide setzen möglicherweise DNS, und beide berühren möglicherweise den Firewall-Zustand. Was Sie dann messen, ist eine dritte Anordnung, die keinem dokumentierten Verhalten der beiden Clients entspricht.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show work --show-secrets | grep -E "^vpn\."
journalctl -u NetworkManager -b --since "10 min ago"Der erste Befehl sagt Ihnen, ob das Profil überhaupt ein VPN-Typ ist. Der zweite zeigt den Diensttyp des Plugins und welche Geheimnisse gespeichert sind, was zählt, wenn ein Schlüssel von einem Agenten statt aus der Datei erwartet wird. Im Journal wird ein Plugin, das geladen wurde, aber nicht aushandeln konnte, das sagen. Wenn keiner der drei ein Problem zeigt, sitzt die Lücke in den Richtlinienschichten über dem Tunnel und nicht in der Verbindung.
Trennen Sie den alten Client, bevor Sie die neue Verbindung aktivieren, halten Sie Endpunkte und Konto identisch und notieren Sie, welche Komponente Routen, Resolver-Einstellungen und Sperrung besitzt. Diese Notiz ist es, die verhindert, dass das nächste Update mit zwei Eigentümern endet.