Đối số để kết nối bằng ứng dụng khách Windows Vpn


12

Có thể khởi động máy khách openvpn của windows để làm cho nó kết nối bằng cấu hình được xác định trước (.ovpn) bằng cách cung cấp các đối số chương trình bằng dấu nhắc lệnh. Hoặc chỉ định các đối số trong phím tắt khi mở từ phím tắt windows, v.v.

Câu trả lời:


18

Giải quyết nó như sau:

từ dấu nhắc lệnh của windows-

nhập mô tả hình ảnh ở đây

Điều này sẽ bắt đầu opn vpn gui client kết nối trực tiếp với kết nối được chỉ định trong cấu hình.


3
Xin lưu ý rằng nếu openvpn-gui.exe đã được khởi động ở trên thì câu trả lời sẽ không hoạt động.
tháng 1,

9

Xin lưu ý rằng nếu openvpn-gui.execâu trả lời đã được bắt đầu ở trên sẽ không hoạt động. Hãy chú ý đến phần: chạy từ một tệp bó nhỏ tôi đã thực hiện để tự động bắt đầu kết nối openVPN khi không ở nhà:

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
Cảm ơn vì một câu trả lời xuất sắc nhưng tôi đã thực hiện thêm bước xuất khẩu tác vụ Windows của mình thành một ý chính: gist.github.com/carlin-q-scott/77cbb064c3c2e332af011714fb2aa585
carlin.scott

4

Ngoài câu trả lời của Flowerking, bạn có thể chỉ định thư mục chứa tệp ovpn của mình, có lẽ để lưu trữ dữ liệu khóa riêng trong không gian người dùng. Đối với điều đó, sử dụng config_dir:

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

3

Đây là một ví dụ đơn giản, nếu bạn muốn kết nối với nhiều VPN hơn một:

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

Nó sẽ không hoạt động, nếu openvpn-gui.exenó đang chạy.


1

Không chắc chắn nếu điều này được thêm gần đây nhưng có một tùy chọn "--command" có thể được sử dụng để gửi lệnh đến một phiên bản gui đang chạy.
Vì vậy, bây giờ bạn có thể làm
openvpn-gui.exe --command connect config.ovpn

Xem các tùy chọn cho openvpn-gui.exe bằng cách đi đến dòng lệnh và chạy
openvpn-gui.exe --help


1

Tôi cũng gặp vấn đề tương tự và cũng cần tập lệnh không mở lại UI nếu nó đã được kết nối và chờ kết nối kết thúc.

Tôi không thể tìm thấy một giải pháp tốt, vì vậy tôi đã viết riêng của mình. Nó ở đây trong trường hợp nó hữu ích cho người khác:

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

Windows Vista trở lên; miễn phí; bao gồm mã nguồn C ++.

(Ngoài ra còn có một công cụ cũ hơn tương tự dành cho máy khách VPN tích hợp Windows.)

Sử dụng ví dụ, với công tắc / verbose cung cấp thông tin chi tiết về những gì nó đang làm:

C: \> ConnectOpenVPN.exe / kết nối / bộ chuyển đổi "OpenVPN" / config "MyVPN.ovpn"

ConnectOpenVPN: Kiểm tra trạng thái của bộ điều hợp mạng "OpenVPN" ...
ConnectOpenVPN: Bộ điều hợp mạng "OpenVPN" không được kết nối.
ConnectOpenVPN: Đang chạy: "C: \ Chương trình tập tin \ OpenVPN \ bin \ openvpn-gui.exe" - và kết nối "MyVPN.ovpn"
ConnectOpenVPN: Đang chờ GUI OpenVPN xuất hiện ...
ConnectOpenVPN: Tìm thấy GUI OpenVPN.
ConnectOpenVPN: Đang chờ GUI OpenVPN đóng ...
ConnectOpenVPN: GUI OpenVPN đã đóng.
ConnectOpenVPN: Đang chờ / xác nhận kết nối VPN tồn tại ...
ConnectOpenVPN: Đã kết nối.
ConnectOpenVPN: KẾT NỐI hành động kết thúc.

Tôi hy vọng nó hữu ích cho những người khác.


0

Bạn có thể cải thiện câu trả lời của @Jan bằng cách thay đổi:

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

đến:

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

Bằng cách này, bạn không cần phải tạo một tệp tạm thời.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.