Làm cách nào để ngắt kết nối khỏi OpenVPN?


29

Tôi đang kết nối bằng máy chủ VPNBook và nó hoạt động tốt với lệnh này:

 sudo openvpn --config /etc/openvpn/vpnbook-udp-53.ovpn --auth-user-pass /etc/openvpn/password.txt

nhưng tôi dường như không thể tìm ra cách ngăn chặn nó mà không cần khởi động lại.

Tôi đã thử service openvpn stop/etc/init.d/vpnbook stop, nhưng điều đó dường như không ảnh hưởng đến nó.


Làm thế nào chính xác với ifconfig?
Adam

Nó sẽ là cái nào? eth0, lo, tun2 hoặc wlan0
Adam

chỉ cần làm> sudo /etc/init.d/network-manager restart <
Qasim

Tôi tò mò, khi VPN được khởi động theo cách này thì nó không hiển thị trong trình quản lý mạng. Tôi chỉ luôn luôn sử dụng trình quản lý mạng kết nối và ngắt kết nối và hiện không có VPN để kiểm tra nhưng tự hỏi.
Dennis

Câu trả lời:


45

Lệnh này chắc chắn hoạt động với tôi, và nó cũng sẽ làm việc cho bạn.

sudo killall openvpn

Có thể yêu cầu sudo apt-get install psmiscmột số bản dựng
geotheory

Tôi đã phải giết -9 nó trên Ubuntu 16.04 (vâng tôi biết ...)
Gregor

11

Các bước thành công trong trường hợp của tôi là:

# stop the service    
$ sudo /etc/init.d/openvpn stop

# find the process if for some reason it keeps running
$ lsof -i | grep openvpn

# kill the proccess(s) by its PID
$ kill -9 <PID>

# if necessary restart the service again
$ sudo /etc/init.d/openvpn start


Vì một số lý do killall -SIGIN openvpnkhông làm việc cho tôi, nhưng các bước trên đã làm.


Vâng, đây là câu trả lời tốt nhất theo ý kiến ​​của tôi. Quá trình giết chết là phương pháp kỳ lạ, nhưng yêu cầu dịch vụ dừng lại nên làm những việc cần thiết.
Sopalajo de Arrierez

Nói chung, bạn không nên "giết -9" mọi thứ cho đến khi bạn thử ngắt hoặc làm sạch nó trước. Các chương trình có thể bắt một ngắt và dọn dẹp, nhưng không thể bắt tín hiệu chín (hạn). Đặc biệt trong trường hợp openvpn, việc giết nó -9không cho phép các tập lệnh đăng chạy, và rất có thể sẽ để lại các tuyến không hợp lệ hiện đang nằm xung quanh. Lý tưởng nhất là bạn kill -SIGINT, sau đó đợi vài giây để pid kết thúc và chỉ đi với -SIGTERM/ -9nếu nó không thoát ra trước đó.
dannysauer

4

Thử đi

killall -SIGINT openvpn

Bạn có thể nhận thêm thông tin về các tín hiệu khác nhau mà bạn có thể gửi tại đây: http://openvpn.net/index.php/open-source/documentation/howto.html#control


killall -SIGINT openvpnopenvpn (15360): Hoạt động không được phép openvpn: không tìm thấy quá trình sudo killall -SICINT openvpn SICINT: tín hiệu không xác định; killall -l liệt kê các tín hiệu.
Adam

1
sudo killall openvpntrong một thiết bị đầu cuối mới làm việc cho tôi.
Adam

@Adam: SIGINTkhông, không phảiSICINT
Dzamo Norton

Các lệnh kill và killall gửi SIGTERM theo mặc định, mà tài liệu nói có tác dụng tương tự như SIGINT. Vì vậy, hoặc là sẽ làm việc tương đương - nếu viết đúng chính tả. ;)
dannysauer

3

Chỉ cần nhấn CTRL+ Ctrong thiết bị đầu cuối, bạn vừa bắt đầu OpenVPN.


2
Điều gì nếu nó được bắt đầu với cờ -daemon (nền)? Nó không thể trong trường hợp này.
mr-sk

1
Ngoài ra, điều này để lại 'tun0' như một giao diện, vì vậy không thể khởi động lại mà không khởi động lại hoặc thực hiện một số chỉnh sửa tệp cấu hình hệ thống trong khi chạy.
Dennis

1
Điều gì sẽ xảy ra nếu thiết bị đầu cuối vô tình bị đóng cửa. ?
varun

@Dennis ifconfig tun0 downgiúp trong trường hợp này.
gnysek

2

Trong trường hợp sudo killall openvpn không hoàn thành công việc (tôi đã trải nghiệm nó một vài lần) thì một giải pháp sắc bén và gây tử vong sẽ là:

pgrep openvpn | xargs sudo kill -9

0

sau khi chạy sudo killall openvpnhoặc service openvpn stopgiao diện ảo "tun0" sẽ vẫn được mở và được tham chiếu trong bảng tuyến đường, do đó, các kết nối thực sự sẽ bị mất do dịch vụ openvpn bị hủy.

giải pháp là xóa kết nối ảo này sau khi tắt dịch vụ openvpn, vì nó được tạo ra mỗi khi dịch vụ openvpn được kết nối.

vì vậy bạn cần chạy các lệnh bên dưới để ngắt kết nối openvpn:

$ sudo killall openvpn
$ sudo ip link delete tun0

-1

sudo update-rc.d openvpn vô hiệu hóa

Hoặc chỉnh sửa tệp cấu hình trong / etc / default / openvpn

sudo nano / etc / default / openvpn

Và bỏ ghi chú dòng:

#AUTOSTART="none"

Nó trông giống như:

AUTOSTART="none"

Sau đó, bạn sẽ phải chạy:

sudo service openvpn start < vpn-name > để tự khởi động VPN.

sudo service openvpn stop < vpn-name > để tự dừng VPN.

<vpn-name> là tên tệp cấu hình không có phần mở rộng .conf

nằm trong / etc / openvpn và không có <>

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.