Argumente für die Verbindung mit dem Open Vpn Windows-Client

12

Ist es möglich, einen Windows OpenVPN-Client zu starten, um eine Verbindung mit einer vordefinierten Konfiguration (.ovpn) herzustellen, indem Programmargumente über die Eingabeaufforderung angegeben werden? Oder geben Sie die Argumente in der Verknüpfung an, wenn Sie über die Windows-Verknüpfung usw. öffnen.

Flowerking
quelle

Antworten:

18

Es wurde wie folgt gelöst:

von Windows Eingabeaufforderung-

Geben Sie hier die Bildbeschreibung ein

Dadurch wird der opn vpn gui-Client gestartet, der eine direkte Verbindung zu der in der Konfiguration angegebenen Verbindung herstellt.

Flowerking
quelle
3
Beachten Sie jedoch, dass die Antwort nicht funktioniert, wenn die Datei openvpn-gui.exe bereits oben gestartet wurde.
Januar
9

Wohlgemerkt, wenn die openvpn-gui.exeobigen Antworten bereits gestartet sind, funktionieren sie nicht. Beachten Sie den Abschnitt: Ausführen einer kleinen Batch-Datei, die ich erstellt habe, um die openVPN-Verbindung automatisch zu starten, wenn Sie nicht zu Hause sind:

rem This script is fired from Task Scheduler (using Custom Event filter) when I am NOT at home (not connected to home network)
rem  so check if my home NAS is already pingable, because maybe old/previous OpenVPN connection is still open
rem    if not then start OpenVPN connection
rem    if yes than do nothing
ping -n 1 192.168.10.100 > testping.txt
findstr /r /c:"Reply from \d*.\d*.\d*.\d*.* bytes=\d*.*time[<=]\d*.* TTL=\d*" testping.txt
IF ERRORLEVEL 1 goto run
rem do nothing because NAS is pingable
goto finished
:run
rem be sure to kill previous (closed) openvpn process so reconnecting actually works!
taskkill.exe /F /IM openvpn.exe
taskkill.exe /F /IM openvpn-gui.exe
timeout 1
start /b "" "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect nas_at_home.ovpn
:finished
Jan.
quelle
1
Vielen Dank für eine hervorragende Antwort, aber ich habe den zusätzlichen Schritt des Exportierens meiner Windows-Aufgabe in einen Kern ausgeführt: gist.github.com/carlin-q-scott/77cbb064c3c2e332af011714fb2aa585
carlin.scott
4

Zusätzlich zu Flowerkings Antwort können Sie den Ordner angeben, in dem sich Ihre ovpn-Datei befindet, um möglicherweise private Schlüsseldaten im Benutzerbereich zu speichern. Verwenden Sie dazu config_dir:

openvpn-gui.exe --connect "client.ovpn" --config_dir "C:\Users\Foo\Documents\protected_crypto_data"
Justin Brown
quelle
3

Hier ist ein einfaches Beispiel, wenn Sie eine Verbindung zu mehr als einem VPN herstellen möchten:

"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect vpn1.ovpn --connect vpn2.ovpn

Es wird nicht funktionieren, wenn das openvpn-gui.exeläuft.

Etmos
quelle
1

Ich bin mir nicht sicher, ob dies kürzlich hinzugefügt wurde, aber es gibt eine "--command" -Option, mit der Befehle an eine laufende GUI-Instanz gesendet werden können.
Jetzt können Sie es also tun
openvpn-gui.exe --command connect config.ovpn

Sehen Sie sich die Optionen für openvpn-gui.exe an, indem Sie zur Befehlszeile gehen und ausführen
openvpn-gui.exe --help

Jeff Rausch
quelle
1

Ich hatte die gleichen Probleme und brauchte das Skript auch, um die Benutzeroberfläche nicht erneut zu öffnen, wenn sie bereits verbunden war, und um zu warten, bis die Verbindung beendet ist.

Ich konnte keine gute Lösung finden, also schrieb ich meine eigene. Es ist hier, falls es für andere nützlich ist:

https://www.pretentiousname.com/miscsoft/index.html#ConnectOpenVPN

Windows Vista und höher; kostenlos; enthält C ++ - Quellcode.

(Es gibt dort auch ein ähnliches, älteres Tool für den in Windows integrierten VPN-Client.)

Beispiel für eine Verwendung mit dem Schalter / verbose, der detaillierte Informationen zu seinen Aktivitäten ausgibt:

C: \> ConnectOpenVPN.exe / connect / adapter "OpenVPN" / config "MyVPN.ovpn"

ConnectOpenVPN: Status des "OpenVPN" -Netzwerkadapters wird überprüft ...
ConnectOpenVPN: Der Netzwerkadapter "OpenVPN" ist nicht angeschlossen.
ConnectOpenVPN: Wird ausgeführt: "C: \ Programme \ OpenVPN \ bin \ openvpn-gui.exe" - Befehl connect "MyVPN.ovpn"
ConnectOpenVPN: Warten auf das Erscheinen der OpenVPN-Benutzeroberfläche ...
ConnectOpenVPN: OpenVPN-GUI gefunden.
ConnectOpenVPN: Warten auf das Schließen der OpenVPN-Benutzeroberfläche ...
ConnectOpenVPN: OpenVPN-GUI geschlossen.
ConnectOpenVPN: Warten auf / Bestätigen der VPN-Verbindung besteht ...
ConnectOpenVPN: Verbunden.
ConnectOpenVPN: Die Aktion CONNECT wurde beendet.

Ich hoffe, es ist nützlich für andere Menschen.

Leo Davidson
quelle
0

Sie können die Antwort von @Jan verbessern, indem Sie Folgendes ändern:

ping -n 1 192.168.10.100 > testping.txt
findstr /r /c:"Reply from \d*.\d*.\d*.\d*.* bytes=\d*.*time[<=]\d*.* TTL=\d*" testping.txt

zu:

ping 192.168.10.100 -n 1 | findstr /r /c:"Reply from \d*.\d*.\d*.\d*.* bytes=\d*.*time[<=]\d*.* TTL=\d*" && goto :finished

Auf diese Weise müssen Sie keine temporäre Datei erstellen.

M1n1_Z
quelle