Argumentos para conectarse usando el cliente de Windows Open Vpn


12

¿Es posible iniciar un cliente openvpn de Windows para que se conecte utilizando una configuración predefinida (.ovpn) al proporcionar argumentos del programa mediante el símbolo del sistema. O especificando los argumentos en el acceso directo al abrir desde el acceso directo de Windows, etc.

Respuestas:


18

Lo resolvió de la siguiente manera:

desde el símbolo del sistema de Windows

ingrese la descripción de la imagen aquí

Esto va a iniciar el cliente opn vpn gui que se conecta directamente a la conexión especificada en la configuración.


3
Tenga en cuenta que si el openvpn-gui.exe ya se inició anteriormente, la respuesta no funcionará.
Jan

9

Tenga en cuenta que si las openvpn-gui.exerespuestas anteriores ya comienzan no funcionarán. Preste atención a la sección: ejecutar desde un pequeño archivo por lotes que hice para iniciar automáticamente la conexión openVPN cuando no está en casa:

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

1
Gracias por una excelente respuesta, pero di el paso adicional de exportar mi tarea de Windows a una esencia: gist.github.com/carlin-q-scott/77cbb064c3c2e332af011714fb2aa585
carlin.scott

4

Además de la respuesta de Flowerking, puede especificar la carpeta en la que vive su archivo ovpn, tal vez para almacenar datos de clave privada en el espacio del usuario. Para eso, use config_dir:

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

3

Aquí hay un ejemplo simple, si desea conectarse a más VPN de una:

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

No funcionará si se openvpn-gui.exeestá ejecutando.


1

No estoy seguro de si esto se agregó recientemente, pero hay una opción "--command" que se puede usar para enviar comandos a una instancia de GUI en ejecución.
Entonces ahora puedes hacer
openvpn-gui.exe --command connect config.ovpn

Vea las opciones para openvpn-gui.exe yendo a la línea de comando y ejecutando
openvpn-gui.exe --help


1

Tuve los mismos problemas y también necesitaba que el script no volviera a abrir la interfaz de usuario si ya estaba conectado y que esperara a que finalizara la conexión.

No pude encontrar una buena solución, así que escribí la mía. Está aquí en caso de que sea útil para otros:

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

Windows Vista y superior; gratis; incluye código fuente de C ++.

(También existe una herramienta similar y más antigua para el cliente VPN incorporado de Windows).

Ejemplo de uso, con el modificador / verbose que genera información detallada sobre lo que está haciendo:

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

ConnectOpenVPN: Comprobando el estado del adaptador de red "OpenVPN" ...
ConnectOpenVPN: el adaptador de red "OpenVPN" no está conectado.
ConnectOpenVPN: Ejecutando: "C: \ Archivos de programa \ OpenVPN \ bin \ openvpn-gui.exe" --command connect "MyVPN.ovpn"
ConnectOpenVPN: esperando que aparezca la GUI de OpenVPN ...
ConnectOpenVPN: OpenVPN GUI encontrado.
ConnectOpenVPN: esperando que la GUI de OpenVPN se cierre ...
ConnectOpenVPN: OpenVPN GUI cerrada.
ConnectOpenVPN: esperando / confirmando la conexión VPN existe ...
ConnectOpenVPN: conectado.
ConnectOpenVPN: CONNECT action finshed.

Espero que sea útil para otras personas.


0

Puede mejorar la respuesta de @Jan cambiando:

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

a:

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 esta manera, no necesita crear un archivo temporal.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.