Wie kann ich OpenVPN unter Windows 10 automatisch starten und verbinden?

12

Der Start von Windows 10 scheint ungewöhnlich oder zumindest neu zu sein. Viele Programme werden nicht wie in früheren Versionen automatisch gestartet, und viele fragen sich, wie die Dinge automatisch gestartet werden sollen. Ich weiß, weil ich ständig danach suche, meine gewohnten Programme automatisch zu starten.

Wie kann ich OpenVPN dazu bringen, beim Booten zu starten, den Internetzugang zu verhindern, bis eine Verbindung hergestellt ist, und mich automatisch bei einem OVPN-Profil anzumelden?

Ich habe die Anmeldeinformationen bereits in einer Textdatei gespeichert, daher muss OpenVPN die Datei nur laden, verarbeiten und eine Verbindung herstellen.

Früher funktionierte dies unter Windows 7, aber anscheinend habe ich vergessen, wie das geht.

YetAnotherRandomUser
quelle
Die Art und Weise, wie Sie eine Anwendung für den Start konfigurieren, wenn sich ein Benutzer bei seinem Profil anmeldet, ist seit der Veröffentlichung von Windows XP unverändert geblieben. Was hast du konkret ausprobiert? Aktualisieren Sie Ihre Frage.
Ramhound

Antworten:

25

Der beste Weg ist die Nutzung von Diensten:

  1. Installieren Sie den OpenVPN-Dienst, wenn Sie den Client installieren.
  2. Platzieren Sie Ihre OpenVPN-Profile (mit der unter Linux üblichen Erweiterung .ovpn, nicht .conf) wahrscheinlich im Unterverzeichnis config des OpenVPN-Installationsverzeichnisses C:\Program Files\OpenVPN\config.
  3. Öffnen Sie die Dienstekonsole ( services.msc).
  4. Suchen Sie OpenVPNService, klicken Sie mit der rechten Maustaste darauf, und ändern Sie den Starttyp von "Manuell" in "Automatisch".
  5. Starten Sie den Dienst, und OpenVPN sucht in allen .ovpn-Dateien nach Profilen und stellt eine Verbindung zu diesen her. Denken Sie in den meisten Situationen daran, dass Sie eine TUN / TAP-Schnittstelle pro Verbindungsdatei benötigen. In Windows empfehle ich dringend, eine Schnittstelle dauerhaft mit ihrer Verbindung über die Konfigurationsdateien dev-node TAP_Servzu verknüpfen: Erzwingt, dass OpenVPN die Verbindung mit der Netzwerkschnittstelle mit dem Namen "Tap_Serv" bindet.

Vielleicht möchten Sie nachforschen, ob es eine Möglichkeit gibt, eine Whitelist zu erstellen, mit der der Dienst gezwungen wird, nur eine Verbindung zu bestimmten Dateien herzustellen, und nicht zu allen. Ich hatte in der Vergangenheit einige Probleme mit Leuten, die einen VPN-Server als Dienst und mehrere VPN-Client-Dateien auf demselben Computer benötigen, die nur ab und zu eine Verbindung herstellen. Wenn ich in diesen Situationen wollte, dass OpenVPN GUI ihnen eine schöne Liste der verfügbaren Verbindungen anzeigt, bedeutete dies, dass der Dienst diese Dateien sah und versuchte, automatisch eine Verbindung zu ihnen herzustellen. In diesen Fällen habe ich mich entschieden, überhaupt keine Dienste zu nutzen:

Wenn die Verwendung eines Dienstes nicht möglich ist, können Sie zusätzliche Befehlszeilenargumente an den OpenVPN-GUI-Aufruf übergeben, damit die Verbindung beim Start automatisch hergestellt wird (und das Tray-Symbol wie gewohnt angezeigt wird):

openvpn-gui.exe --connect myprofile.ovpn

Platzieren Sie eine solche Verknüpfung im üblichen Startordner, damit sie beim Anmelden ausgeführt wird. (Für alle Benutzer %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startupoder nur für den aktuellen Benutzer %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup.)


Ich weiß nicht, wie ich verhindern soll, dass der Benutzer eine Verbindung zum Internet herstellt, bevor das VPN eingerichtet ist. Nur so kann ich herausfinden, ob die Windows-Firewall verwendet wird, und ich bin kein Experte in diesem Bereich. Wenn Sie verhindern möchten, dass ein Poweruser auf das Internet zugreifen kann, benötigen Sie eine Firewall in Ihrem Gateway, um dies zu vermeiden, oder starke Gruppenrichtlinien, um eine Skalierung der Berechtigungen zu vermeiden.

Für einen normalen Benutzer können Sie den Windows-Clientcomputer ohne ein Standardgateway konfigurieren. Legen Sie mit dem folgenden Befehl eine dauerhafte statische Route zum VPN-Server auf Windows-Clients fest (mit -P wird sie dauerhaft ausgeführt):

route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>

Roues in Windows werden unter dem folgenden Registrierungsschlüssel gespeichert:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes

Zu diesem Zeitpunkt hat ein nicht verbundener Client nur Zugriff auf den VPN-Server. Anschließend können Sie die folgenden Zeilen in die VPN-Serverkonfigurationsdatei einfügen, um Routen auf Clients hinzuzufügen, wenn diese eine Verbindung herstellen:

So konfigurieren Sie den VPN-Server als Standardgateway:

push "redirect-gateway def1 bypass-dhcp"

So fügen Sie eine bestimmte Route über den VPN-Server hinzu:

push "route 192.168.1.0 255.255.255.0"

Gelegentlich funktioniert das Routen-Pushing unter Windows nicht. In diesem Fall deinstalliere ich OpenVPN und seine Schnittstellen vollständig unter Windows, starte das System neu und installiere die neueste Version der Software. Bevor ich die erste Verbindung herstelle, starte ich Windows neu. Dies hat die Probleme immer behoben, jedoch ist das Windows 10 Anniversary-Update (1607) mit OpenVPN fehlerhaft. Es gibt einen Link zu einer tieferen Diskussion in OpenVPN-Foren:

Verbindungsprobleme mit dem Windows 10-Jubiläumsupdate

Denken Sie daran, wenn Sie Ihre Windows 10 OpenVPN-Clients einrichten.

DGoiko
quelle
Sie können den Befehl route verwenden, um den gesamten Datenverkehr über das VPN zu erzwingen. Siehe comentum.com/route.html
Jeff F.
Ich betrachte mich als Power-User, möchte dies aber auch für Nicht-Power-User einrichten und reibungslos funktionieren lassen. Ich muss nicht verhindern, dass andere Power-User basteln.
YetAnotherRandomUser
"Der OpenVPN-Dienst überprüft das Konfigurationsverzeichnis und stellt eine Verbindung zu jedem VPN-Profil her, das hier gespeichert ist." Das scheint nicht der Fall zu sein. Es scheint, dass es mit dem ersten verbunden ist, wenn sie alphabetisch sortiert sind. Können Sie auf Dokumentation verlinken? Ich kann keinen Abschnitt finden, der das behandelt.
YetAnotherRandomUser
Hallo Dan. Der größte Teil meiner Erfahrung stammt von OpenVPN-Servern in CentOS, und wenn ich mehrere Serverdateien speichere, werden alle ausgeführt. Ich werde einen Test durchführen, um festzustellen, ob das Verhalten mit Client-Dateien das gleiche ist, aber ich habe keinen Grund zu der Annahme, dass es anders sein wird. Tut mir leid, wenn ich Sie in die Irre geführt habe. Ich melde mich umgehend bei Ihnen (ich bin gerade auf der Arbeit, entweder wenn ich etwas Freizeit habe oder nach Feierabend werde ich es auf einem Windows-Computer überprüfen).
DGoiko
1
Der Taskplaner (<kbd> Windows-Taste </ kbd> + <kbd> R </ kbd>, geben Sie <kbd> ein </ kbd> Taskschd.mscund drücken Sie die Eingabetaste) kann ebenfalls verwendet werden.
user598527