Argumen untuk terhubung menggunakan klien Open Vpn windows

12

Apakah mungkin untuk memulai klien windows openvpn untuk membuatnya terhubung menggunakan konfigurasi yang telah ditentukan (.ovpn) dengan menyediakan argumen program menggunakan prompt perintah. Atau menentukan argumen dalam pintasan saat membuka dari pintasan windows dll.

Berbunga
sumber

Jawaban:

18

Dipecahkan seperti di bawah ini:

dari windows command prompt-

masukkan deskripsi gambar di sini

Ini akan memulai opn vpn gui client yang langsung terhubung ke koneksi yang ditentukan dalam konfigurasi.

Berbunga
sumber
3
Harap diingat bahwa jika openvpn-gui.exe sudah dimulai, jawaban di atas tidak akan berfungsi.
Jan
9

Pikiran Anda bahwa jika openvpn-gui.exesudah dimulai jawaban di atas tidak akan berfungsi. Perhatikan bagian: run dari file batch kecil yang saya buat untuk secara otomatis memulai koneksi openVPN ketika tidak di rumah:

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
sumber
1
Terima kasih atas jawaban yang sangat baik, tetapi saya melangkah ekstra untuk mengekspor tugas Windows saya menjadi intisari: gist.github.com/carlin-q-scott/77cbb064c3c2e332af011714fb2aa585
carlin.scott
4

Selain jawaban Flowerking, Anda dapat menentukan folder tempat file ovpn Anda hidup, mungkin untuk menyimpan data kunci pribadi di ruang pengguna. Untuk itu, gunakan config_dir:

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

Ini adalah contoh sederhana, jika Anda ingin terhubung ke lebih dari satu VPN:

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

Ini tidak akan berfungsi, jika openvpn-gui.exesedang berjalan.

Etmos
sumber
1

Tidak yakin apakah ini baru-baru ini ditambahkan tetapi ada opsi "- perintah" yang dapat digunakan untuk mengirim perintah ke instance gui yang sedang berjalan.
Jadi sekarang bisa kamu lakukan
openvpn-gui.exe --command connect config.ovpn

Lihat opsi untuk openvpn-gui.exe dengan masuk ke baris perintah dan menjalankan
openvpn-gui.exe --help

Jeff Rausch
sumber
1

Saya memiliki masalah yang sama, dan juga membutuhkan skrip untuk tidak membuka kembali UI jika sudah terhubung, dan menunggu koneksi selesai.

Saya tidak dapat menemukan solusi yang baik, jadi saya menulis sendiri. Ini ada di sini jika berguna bagi orang lain:

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

Windows Vista dan yang lebih tinggi; Gratis; termasuk kode sumber C ++.

(Ada juga alat serupa yang lebih lama di sana untuk klien VPN bawaan Windows.)

Contoh penggunaan, dengan saklar / verbose yang menampilkan info terperinci tentang apa yang dilakukannya:

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

ConnectOpenVPN: Memeriksa status adapter jaringan "OpenVPN" ...
ConnectOpenVPN: "OpenVPN" adapter jaringan tidak terhubung.
ConnectOpenVPN: Menjalankan: "C: \ Program Files \ OpenVPN \ bin \ openvpn-gui.exe" - perintah terhubung "MyVPN.ovpn"
ConnectOpenVPN: Menunggu OpenVPN GUI muncul ...
ConnectOpenVPN: OpenVPN GUI ditemukan.
ConnectOpenVPN: Menunggu OpenVPN GUI ditutup ...
ConnectOpenVPN: OpenVPN GUI ditutup.
ConnectOpenVPN: Menunggu / mengkonfirmasi koneksi VPN ada ...
ConnectOpenVPN: Terhubung.
ConnectOpenVPN: HUBUNGI tindakan selesai.

Semoga bermanfaat bagi orang lain.

Leo Davidson
sumber
0

Anda dapat meningkatkan jawaban @Jan dengan mengubah:

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

untuk:

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

Dengan cara ini Anda tidak perlu membuat file sementara.

M1n1_Z
sumber