Jak odłączyć się od OpenVPN?


29

Łączę się za pomocą serwerów VPNBook i działa dobrze z tym poleceniem:

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

ale po prostu nie mogę wymyślić, jak to zatrzymać bez ponownego uruchomienia komputera.

Próbowałem service openvpn stopi /etc/init.d/vpnbook stop, ale to nie wydaje się mieć na to wpływu.


Jak dokładnie z ifconfig?
Adam

Który by to był? eth0, lo, tun2 lub wlan0
Adam

po prostu wykonaj> sudo /etc/init.d/network-manager restart <
Qasim

Jestem ciekawy, że kiedy VPN jest uruchamiany w ten sposób, nie pojawia się on w menedżerze sieci. Zawsze tylko używałem menedżera sieci do łączenia i rozłączania i obecnie nie mam VPN do testowania, ale zastanawiałem się.
Dennis

Odpowiedzi:


45

To polecenie zdecydowanie działa dla mnie i powinno również działać dla ciebie.

sudo killall openvpn

Może wymagać sudo apt-get install psmiscniektórych wersji
geotheory

Musiałem zabić -9 na Ubuntu 16.04 (tak, wiem ...)
Gregor

11

Pomyślne kroki w moim przypadku były następujące:

# 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


Z jakiegoś powodu killall -SIGIN openvpnnie działało dla mnie, ale powyższe kroki zadziałały.


Cóż, według mnie to najlepsza odpowiedź. Proces zabijania jest dziwną metodą, ale żądanie zatrzymania usługi powinno robić to, co trzeba.
Sopalajo de Arrierez

Ogólnie, nie powinieneś „zabijać -9” rzeczy, dopóki nie spróbujesz przerwać lub w inny sposób nie wyczyścisz go wcześniej. Programy mogą wychwycić przerwanie i wykonać czyszczenie, ale nie mogą złapać sygnału dziewiątego (term). Zwłaszcza w przypadku openvpn zabicie go -9nie pozwala na uruchomienie skryptów post i bardzo prawdopodobne jest, że pozostaną po sobie nieważne trasy. Najlepiej byłoby kill -SIGINT, gdybyś poczekał kilka sekund, aż pid się skończy i idź tylko z -SIGTERM/ -9jeśli nie wyszedł wcześniej.
dannysauer,

4

Spróbuj tego

killall -SIGINT openvpn

Możesz uzyskać więcej informacji na temat różnych sygnałów, które możesz wysłać tutaj: http://openvpn.net/index.php/open-source/documentation/howto.html#control


killall -SIGINT openvpnopenvpn (15360): Operacja niedozwolona openvpn: nie znaleziono procesu sudo killall -SICINT openvpn SICINT: nieznany sygnał; killall -l wyświetla sygnały.
Adam

1
sudo killall openvpnw nowym terminalu pracował dla mnie.
Adam

@Adam: to SIGINTnie jestSICINT
Dzamo Norton

Polecenia kill i killall domyślnie wysyłają SIGTERM, co według dokumentacji ma taki sam efekt jak SIGINT. Tak więc albo działałby równorzędnie - jeśli byłby poprawnie napisany. ;)
dannysauer

3

Wystarczy nacisnąć CTRL+ Cw terminalu, który właśnie uruchomiłeś OpenVPN.


2
Co jeśli został uruchomiony z flagą -daemon (w tle)? W tym przypadku nie jest to możliwe.
mr-sk

1
Pozostawia to również „tun0” jako interfejs, więc nie jest możliwe ponowne uruchomienie bez ponownego uruchomienia komputera lub edycji systemu plików konfiguracji podczas pracy.
Dennis

1
Co jeśli terminal został przypadkowo zamknięty. ?
varun 21.04.16

@Dennis ifconfig tun0 downpomaga w tym przypadku.
gnysek

2

W przypadku, sudo killall openvpngdy nie dokończy pracy (kilka razy tego doświadczyłem), ostrym i śmiertelnym rozwiązaniem byłoby:

pgrep openvpn | xargs sudo kill -9

0

po uruchomieniu sudo killall openvpnlub service openvpn stopinterfejs wirtualny „tun0” pozostałby otwarty i przywołany w tabeli tras, więc faktycznie powiązane połączenia zostałyby utracone, ponieważ usługa openvpn została zabita.

rozwiązaniem jest usunięcie tego wirtualnego połączenia po zabiciu usługi openvpn, ponieważ jest ono tworzone za każdym razem, gdy usługa openvpn zostanie połączona.

więc musisz uruchomić poniższe polecenia w celu odłączenia openvpn:

$ sudo killall openvpn
$ sudo ip link delete tun0

-1

sudo update-rc.d openvpn wyłącz

Lub edytuj plik konfiguracyjny w / etc / default / openvpn

sudo nano / etc / default / openvpn

I odkomentuj linię:

#AUTOSTART="none"

Wygląda to tak:

AUTOSTART="none"

Następnie musisz uruchomić:

sudo service openvpn start < vpn-name > aby ręcznie uruchomić VPN.

sudo service openvpn stop < vpn-name > aby ręcznie zatrzymać VPN.

<nazwa VPN> to nazwa pliku konfiguracyjnego bez rozszerzenia .conf

znajduje się w / etc / openvpn i bez <>

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.