Ein Profil, zwei Eigentümer: NetworkManager oder systemd
Eine .ovpn-Datei ist untätig, bis etwas sie besitzt. Vergleichen Sie eine NetworkManager-Verbindung mit einer eigenständigen Service-Unit, bevor Sie das Profil an beide Orte kopieren.
Mit einer .ovpn-Datei geschieht nichts, bis etwas sie besitzt. Auf einem Pi-Desktop sind die plausiblen Eigentümer NetworkManager, der eine importierte Verbindung in seiner eigenen Keyfile speichert, und eine eigenständige Service-Unit, die eine Konfiguration aus einem Verzeichnis liest. Das sind zwei Betriebsmodelle mit unterschiedlicher Speicherung, unterschiedlichem Umgang mit Anmeldedaten und unterschiedlichen Aktivierungsregeln. Eines davon bewusst zu wählen, ist die ganze Aufgabe; die Datei an beide Orte zu kopieren, macht die Wahl nur zufällig.
Beide können auf einer Maschine arbeiten, aber nicht im selben Tunnel im selben Moment, und der Konflikt sieht wie ein Netzwerkfehler aus, nicht wie ein Konfigurationsfehler.
Zwei Wege, denselben Tunnel zu besitzen
Das OpenVPN-Plugin von NetworkManager fügt einen Editor und einen Dienst hinzu, die die Verbindung für Sie verwalten, und die Installation des OpenVPN-Programms installiert diese Integration nicht. Eine eigenständige Unit ist die umgekehrte Anordnung: kein Editor, keine Desktop-Integration, eine Konfigurationsdatei und die Rechte, die die Unit gewährt. Der erste Ansatz hält den Verbindungszustand in seiner eigenen Datenbank, der zweite hält ihn dort, wo Profil und Unit es sagen. Die meiste Verwirrung entsteht aus der Annahme, ein importiertes Profil und eine kopierte Datei seien dasselbe Objekt.
Sie sind nicht zwei Ansichten einer Sache. Das Heruntergeladene zu bearbeiten, ändert weder das, was NetworkManager gespeichert hat, noch das, was die Unit liest, und eines von beiden kann dasjenige sein, das den Tunnel aufgebaut hat, den Sie gerade getestet haben.
Folgen Sie der Verbindung, die der Desktop tatsächlich nutzt
Der dokumentierte Importvorgang, nmcli connection import type openvpn file office.ovpn, erzeugt eine Verbindung über das Plugin. Notieren Sie ihre UUID und verwenden Sie diese Kennung danach, denn Namen werden bearbeitet und zwei Verbindungen können dieselbe Bezeichnung teilen. nmcli connection show listet auf, was existiert, und die eigenen Eigenschaften einer Verbindung zu lesen, sagt Ihnen, aus welcher Datei sie stammt und was sie speichert. Wenn die UUID, die Sie bearbeiten, nicht die ist, die der Desktop aktiviert, sind Ihre Änderungen Dekoration.
Geheimnisse liegen im Speicher des Eigentümers. Jedes gespeicherte Geheimnis auszugeben, um herauszufinden, welches Profil aktiv ist, ist langsam und riskant; fragen Sie stattdessen das Verbindungsobjekt und halten Sie privates Material dort, wo der Eigentümer es erwartet.
Eine importierte Verbindung braucht keine grafische Sitzung, um zu laufen, aber sie kann trotzdem eine Quelle für Anmeldedaten brauchen. Ob sie unbeaufsichtigt startet, hängt von ihren Rechten und Geheimnissen ab, nicht von der Anwesenheit des Desktops.
Lesen Sie die Unit-Vorlage, bevor Sie sich darauf verlassen
Wo das Paket die Client-Unit im Upstream-Stil mitliefert, entspricht eine Instanz namens office der Datei %i.conf im konfigurierten Verzeichnis der Unit, das für die 2.6-Vorlage /etc/openvpn/client ist. Lesen Sie die installierte Unit und alle Drop-ins, bevor Sie einem Beispiel aus einer Anleitung trauen, denn Distributionen verschieben Pfade. Ein manueller Start aus einem Terminal beweist nichts über die Sicht des Dienstes auf Dateien, Geheimnisse oder Rechte. Auch der Passwortdialog des Desktops ist kein Beleg dafür, dass eine nicht interaktive Unit einen genehmigten Weg hat, dasselbe Passwort zu bekommen.
Geben Sie der Unit nur, was sie braucht. Die gesamte Dienst-Sandbox zu lockern, weil eine referenzierte Datei nicht lesbar ist, tauscht eine kleine Rechtekorrektur gegen eine große Exposition, und der Fehler nennt meist die Datei, die Aufmerksamkeit braucht.
Ziehen Sie das Duplikat zurück, ohne den Zugang zu verlieren
Wenn beide Eigentümer den Tunnel starten können, gewinnt einer irgendwann im falschen Moment, und Routen und Gerät des Verlierers bleiben zurück. Entfernen Sie das versehentliche Duplikat über seinen eigenen Eigentümer, halten Sie einen Wiederherstellungsweg offen und bestätigen Sie, dass der verbleibende Eigentümer nach einem Neustart noch verbindet. Zwei bewusst getrennte VPNs mit unterschiedlichen Routingrichtlinien sind eine andere Entwurfsfrage, keine Erlaubnis für zwei Startwege, um eine Verbindung zu konkurrieren.
Schreiben Sie dann den Lebenszyklus auf, den Sie akzeptiert haben: manuelle Aktivierung, Anmeldung oder Start und Wiederverbindung. Prüfen Sie den gespeicherten Endpunkt, die Authentifizierung der Gegenstelle und die Ressource, die der Tunnel erreichen soll, denn eine Neuinstallation des Desktops ersetzt nicht das Wissen, welche Konfiguration gelaufen ist.