Arguments pour se connecter à l'aide du client Windows Open Vpn

13

Est-il possible de démarrer un client Windows OpenVPN pour le connecter à l'aide d'une configuration prédéfinie (.ovpn) en fournissant des arguments de programme à l'aide de l'invite de commande. Ou en spécifiant les arguments dans le raccourci lors de l'ouverture à partir du raccourci Windows, etc.

Flowerking
la source

Réponses:

18

Résolu comme ci-dessous:

à partir de l'invite de commande windows-

entrez la description de l'image ici

Cela va démarrer le client opn vpn gui se connectant directement à la connexion spécifiée dans la configuration.

Flowerking
la source
3
N'oubliez pas que si openvpn-gui.exe est déjà démarré ci-dessus, la réponse ne fonctionnera pas.
Jan
9

Rappelez-vous que si le openvpn-gui.exeest déjà commencé ci-dessus, les réponses ne fonctionneront pas. Faites attention à la section: run à partir d'un petit fichier batch que j'ai créé pour démarrer automatiquement la connexion openVPN lorsque vous n'êtes pas à la maison:

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
la source
1
Merci pour une excellente réponse, mais j'ai franchi l'étape supplémentaire d'exporter ma tâche Windows dans un gist: gist.github.com/carlin-q-scott/77cbb064c3c2e332af011714fb2aa585
carlin.scott
5

En plus de la réponse de Flowerking, vous pouvez spécifier le dossier dans lequel réside votre fichier ovpn, peut-être pour stocker les données de clé privée dans l'espace utilisateur. Pour cela, utilisez config_dir:

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

Voici un exemple simple, si vous souhaitez vous connecter à plusieurs VPN:

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

Cela ne fonctionnera pas si le openvpn-gui.exeest en cours d'exécution.

Etmos
la source
1

Je ne sais pas si cela a été ajouté récemment, mais il existe une option "--command" qui peut être utilisée pour envoyer des commandes à une instance de gui en cours d'exécution.
Alors maintenant, vous pouvez faire
openvpn-gui.exe --command connect config.ovpn

Voir les options pour openvpn-gui.exe en accédant à la ligne de commande et en exécutant
openvpn-gui.exe --help

Jeff Rausch
la source
1

J'ai eu les mêmes problèmes et j'avais également besoin du script pour ne pas rouvrir l'interface utilisateur si elle était déjà connectée et attendre la fin de la connexion.

Je n'ai pas trouvé de bonne solution, j'ai donc écrit la mienne. C'est ici au cas où cela serait utile aux autres:

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

Windows Vista et supérieur; gratuit; inclut le code source C ++.

(Il existe également un outil similaire et plus ancien pour le client VPN intégré de Windows.)

Exemple d'utilisation, avec le commutateur / verbose qui génère des informations détaillées sur ce qu'il fait:

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

ConnectOpenVPN: Vérification de l'état de la carte réseau "OpenVPN" ...
ConnectOpenVPN: la carte réseau "OpenVPN" n'est pas connectée.
ConnectOpenVPN: En cours d'exécution: "C: \ Program Files \ OpenVPN \ bin \ openvpn-gui.exe" --command connect "MyVPN.ovpn"
ConnectOpenVPN: En attente de l'affichage de l'interface graphique OpenVPN ...
ConnectOpenVPN: interface graphique OpenVPN trouvée.
ConnectOpenVPN: en attente de fermeture de l'interface graphique OpenVPN ...
ConnectOpenVPN: interface graphique OpenVPN fermée.
ConnectOpenVPN: attente / confirmation de la connexion VPN existe ...
ConnectOpenVPN: connecté.
ConnectOpenVPN: CONNECTER action finshed.

J'espère que cela sera utile à d'autres personnes.

Leo Davidson
la source
0

Vous pouvez améliorer la réponse de @Jan en modifiant:

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

à:

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

De cette façon, vous n'avez pas besoin de créer un fichier temporaire.

M1n1_Z
la source