Open Vpn Windows 클라이언트를 사용하여 연결할 인수 프로그램 인수를

명령 프롬프트를 사용하여 프로그램 인수를 제공하여 사전 정의 된 구성 (.ovpn)을 사용하여 연결하도록 Windows openvpn 클라이언트 를 시작할 수 있습니까? 또는 Windows 단축키 등에서 열 때 단축키에 인수를 지정하십시오.



답변

아래와 같이 해결했습니다.

Windows 명령 프롬프트에서

여기에 이미지 설명을 입력하십시오

이것은 구성에 지정된 연결에 직접 연결하는 opn vpn gui 클라이언트를 시작합니다.


답변

openvpn-gui.exe위에서 이미 시작한 경우 답변이 작동하지 않습니다. 집에 없을 때 openVPN 연결을 자동으로 시작하기 위해 만든 작은 배치 파일에서 : run 섹션에주의하십시오.

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


답변

Flowerking의 답변 외에도 ovpn 파일이있는 폴더를 지정하여 개인 키 데이터를 사용자 공간에 저장할 수 있습니다. 이를 위해 다음을 사용하십시오 config_dir.

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


답변

하나 이상의 VPN에 연결하려는 경우 간단한 예는 다음과 같습니다.

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

openvpn-gui.exe이 실행 중이 면 작동하지 않습니다 .


답변

최근에 추가되었는지 확실하지 않지만 실행중인 GUI 인스턴스에 명령을 보내는 데 사용할 수있는 “–command”옵션이 있습니다.
이제 할 수 있습니다
openvpn-gui.exe --command connect config.ovpn

명령 행으로 이동하여 다음을 실행하여 openvpn-gui.exe 옵션을 참조하십시오.
openvpn-gui.exe --help


답변

나는 같은 문제가 있었고 UI가 이미 연결된 경우 UI를 다시 열지 않고 연결이 완료되기를 기다리는 스크립트가 필요했습니다.

나는 좋은 해결책을 찾지 못해서 내 자신의 것을 썼다. 다른 사람들에게 유용한 경우에 여기 있습니다.

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

Windows Vista 이상; 비어 있는; C ++ 소스 코드를 포함합니다.

또한 Windows 기본 제공 VPN 클라이언트를위한 유사한 이전 도구가 있습니다.

수행중인 작업에 대한 자세한 정보를 출력하는 / verbose 스위치를 사용한 사용법 예 :

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

ConnectOpenVPN : "OpenVPN"네트워크 어댑터 상태 확인 중 ...
ConnectOpenVPN : "OpenVPN"네트워크 어댑터가 연결되어 있지 않습니다.
ConnectOpenVPN : 실행 중 : "C : \ Program Files \ OpenVPN \ bin \ openvpn-gui.exe"--connect "MyVPN.ovpn"명령
ConnectOpenVPN : OpenVPN GUI가 나타날 때까지 기다리는 중 ...
ConnectOpenVPN : OpenVPN GUI를 찾았습니다.
ConnectOpenVPN : OpenVPN GUI가 종료되기를 기다리는 중 ...
ConnectOpenVPN : OpenVPN GUI가 닫혔습니다.
ConnectOpenVPN : VPN 연결 대기 / 확인 중입니다 ...
ConnectOpenVPN : 연결되었습니다.
ConnectOpenVPN : CONNECT 조치가 완료되었습니다.

다른 사람들에게 유용하기를 바랍니다.


답변

다음을 변경하여 @Jan의 답변을 향상시킬 수 있습니다.

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

이런 식으로 임시 파일을 만들 필요가 없습니다.