Unter Windows hat "wo ist mein OpenVPN-Profil" zwei verschiedene Antworten, und die falsche Wahl kostet einen Nachmittag. Die Community-OpenVPN-GUI behandelt ein Verzeichnis als ihre Profilliste: Jede .ovpn-Datei im konfigurierten Ordner erscheint im Infobereichsmenü, und eine aus diesem Ordner entfernte Datei verschwindet. OpenVPN Connect arbeitet aus einem Importspeicher, behält also ein Profil, das Sie von der Festplatte gelöscht haben, und ignoriert eine Datei, die Sie hineinkopiert haben. Der Vergleich unten ist der, mit dem ich entscheide, welchen Ordner ich öffne, bevor ich etwas anfasse.

Eine Ordnerliste gegenüber einem Importspeicher

Die Community-GUI zählt Dateien beim Start auf: Sie liest ein Konfigurationsverzeichnis, das bei der Installation gewählt wurde, und eine dort liegende .ovpn-Datei ist ein Profil. Schließen Sie den Client, kopieren Sie eine Datei in diesen Ordner, starten Sie ihn erneut, und der Eintrag steht im Menü.

Connect baut seine Liste stattdessen aus Datensätzen auf, die es beim Import geschrieben hat, sodass eine kopierte Datei unsichtbar ist, während ein importiertes Profil das Löschen des ursprünglichen Downloads überlebt. Genau dieser eine Unterschied erklärt die meisten Berichte, dass die beiden Clients Profile an unterschiedlichen Orten speichern, denn das tun sie.

Die Community-GUI: Welcher Ordner tatsächlich verwendet wird

Zwei Ordner zählen. Eine Installation pro Benutzer liest %USERPROFILE%\OpenVPN\config; eine Installation für alle Benutzer liest C:\Program Files\OpenVPN\config oder den x86-Pfad, wenn der Client 32-bit ist. Erscheint ein Profil nur für ein Windows-Konto, liegt es im Ordner pro Benutzer, und das andere Konto wird es nie sehen.

Leiten Sie den Pfad nicht vom Installationsprogramm ab. Die GUI akzeptiert ein --config_dir-Argument und merkt sich das Verzeichnis, mit dem sie gestartet wurde, sodass eine Verknüpfung ganz woanders hinzeigen kann. Prüfen Sie das Ziel der Verknüpfung und das Feld Start in oder die GUI-Einstellungen, bevor Sie irgendeine Datei anlegen.

Entfernen ist Dateientfernen. Schließen Sie zuerst die GUI, damit sie den Eintrag nicht im Speicher hält, löschen Sie die .ovpn zusammen mit etwaigen danebenliegenden Zertifikats- oder Schlüsseldateien und starten Sie dann den Client erneut.

Der Ordner für alle Benutzer erfordert ein erhöhtes Löschen. Ein Löschen, das dort stillschweigend nichts tut, ist UAC, kein Clientfehler.

Connect: der Importspeicher und die doppelte AppData-Falle

Aktuelle 2.x- und 3.x-Builds speichern Profile unter %APPDATA%\OpenVPN Connect\profiles. Builds um 2.5 verwendeten stattdessen %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, weshalb ältere und neuere Forumsantworten einander zu widersprechen scheinen. Ein vor Ort aktualisierter Rechner kann noch beides halten.

Die Pfade werden beim Weitererzählen verunstaltet. %AppData% löst sich bereits zu AppData\Roaming auf, sodass das Schreiben von %AppData%\Roaming\OpenVPN Connect\profiles zu AppData\Roaming\Roaming expandiert und ins Leere zeigt. Verwenden Sie die Variable oder den wörtlichen Pfad, niemals eine Mischung aus beidem.

Löschen Sie über den Client: Öffnen Sie Profiles, verwenden Sie das Stiftsymbol, wählen Sie Delete. Das entfernt den Datensatz und die gespeicherte Kopie zusammen. Wird der Ordner entfernt, während Connect läuft, kann ein Datensatz zurückbleiben, der nichts öffnet - das ist die Beschwerde "profile still shows up" in ihrer anderen Form.

Die importierte Kopie ist die, die der Client ausführt. Das Bearbeiten der in Downloads verbliebenen .ovpn ändert nichts, weil Connect seine gespeicherte Kopie liest; um ein Remote oder eine Cipher zu ändern, bearbeiten Sie das Profil im Client oder bearbeiten die Datei und importieren sie erneut .

Warum ein gelöschtes Profil zurückkommt

Zwei Installationen derselben Clientfamilie sind der übliche Grund. Eine GUI pro Benutzer und eine GUI für alle Benutzer haben getrennte Konfigurationsverzeichnisse, sodass das Löschen aus der einen die andere unberührt lässt und der Infobereich den Namen weiterhin auflistet. In Programs and Features prüfen Sie, ob beide installiert sind.

Der zweite Grund ist ein Profil, das nie in dem Ordner war, den Sie geprüft haben. Eine .ovpn einmal aus einer Netzwerkfreigabe oder einem Downloads-Ordner zu öffnen, kann sie in das Konfigurationsverzeichnis pro Benutzer kopieren, und importierte Connect-Profile existieren nur in AppData. Suchen Sie vor jeder Bearbeitung den Dateinamen unter %USERPROFILE% und %APPDATA%. Ein Profilordner enthält meist den privaten Schlüssel neben der .ovpn, also kleben Sie den Ordner niemals in ein Ticket oder einen Chat, um zu beweisen, welches Profil Sie entfernt haben - nennen Sie stattdessen Dateiname und Zeitstempel.

Ältere GUI-Builds speichern Clienteinstellungen außerdem in der Registry. Wenn der Infobereich nach dem Verschwinden der Datei noch einen Namen auflistet und nur eine Installation vorhanden ist, starten Sie den Client einmal neu und prüfen das Konfigurationsverzeichnis der Verknüpfung erneut, bevor Sie erwägen, Registry-Schlüssel anzufassen.

Zwei Tunnel gleichzeitig: zuerst Adapter, dann die Route

Die GUI kann mehrere Verbindungen halten, eine pro virtuellem Adapter; fügen Sie Adapter über den Startmenüeintrag hinzu, der TAP-Windows6 installiert, und bestätigen Sie dann die Anzahl in Network Connections, denn zwei gleichzeitige Tunnel brauchen zwei Adapter, und beide sollten ihre Adresse automatisch beziehen. Das Routing ist die härtere Grenze. Zwei Profile, die jeweils den gesamten Verkehr umleiten, konkurrieren um die Standardroute, und nur eines kann sie besitzen, sodass Sie zeitweise Ausfälle statt zwei funktionierender Tunnel bekommen. Behalten Sie einen vollen Tunnel und geben Sie dem zweiten ein Split-Tunnel-Profil, das nur sein eigenes Subnetz pusht.

Überlappende private Bereiche lassen sich nicht durch einen zusätzlichen Adapter beheben. Wenn beide Server 10.8.0.0/24 vergeben, kollidiert der zweite Tunnel auf Adressebene, und keine Clientkonfiguration wird sie trennen.

Adapternamen sagen Ihnen, worauf Sie schauen. Get-NetAdapter in PowerShell listet TAP-Windows-Adapter und den Wintun-Adapter namentlich auf, was schneller ist, als in Network Connections Symbole zu zählen, wenn ein Tunnel auf dem falschen hochkam.

Ein benanntes Profil aus einem Skript starten

Die GUI nimmt einen Profilnamen relativ zu ihrem Konfigurationsverzeichnis, ein Starter sieht also so aus: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". Ein absoluter Pfad oder ein in einem anderen Arbeitsverzeichnis gestarteter Prozess scheitert still, weshalb eine per Doppelklick funktionierende Verknüpfung unter Task Scheduler bricht.

Legen Sie das Arbeitsverzeichnis fest, statt zu hoffen. In einem AutoHotkey-Starter ist das SetWorkingDir, C:\Program Files\OpenVPN\config; im Task Scheduler ist es das Feld Start in der Aktion. --config_dir mit demselben Pfad zu übergeben macht den Starter von beidem unabhängig.

Bevor Sie fertig sind, exportieren Sie das Profil, notieren Sie seinen Adapter, sein Subnetz und das Subnetz, das es routet, und halten Sie die Zertifikate jedes Kunden in einem eigenen Unterordner. Bestätigen Sie dann, dass der Ordner zu dem Client gehört, den Sie tatsächlich ausführen, und löschen Sie über den Client, wenn dieser Client einen Importspeicher hat. Diese Reihenfolge verhindert, dass dasselbe Profil nach dem nächsten Neustart wieder auftaucht.

Ähnliche Artikel