Bagaimana cara memutus sambungan dari OpenVPN?


29

Saya terhubung menggunakan server VPNBook dan berfungsi baik dengan perintah ini:

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

tapi sepertinya saya tidak tahu cara menghentikannya tanpa reboot.

Saya sudah mencoba service openvpn stopdan /etc/init.d/vpnbook stop, tapi itu sepertinya tidak mempengaruhinya.


Bagaimana tepatnya dengan ifconfig?
Adam

Yang mana itu? eth0, lo, tun2, atau wlan0
Adam

cukup lakukan> sudo /etc/init.d/network-manager restart <
Qasim

Saya ingin tahu, ketika VPN dimulai dengan cara ini apakah itu tidak muncul di manajer jaringan. Saya hanya selalu menggunakan manajer jaringan terhubung dan lepaskan dan saat ini tidak memiliki VPN untuk menguji tetapi bertanya-tanya.
Dennis

Jawaban:


45

Perintah ini pasti bekerja untuk saya, dan itu harus bekerja untuk Anda juga.

sudo killall openvpn

Mungkin memerlukan sudo apt-get install psmiscbeberapa build
geotheory

Saya harus membunuh -9 di Ubuntu 16.04 (ya saya tahu ...)
Gregor

11

Langkah-langkah sukses dalam kasus saya adalah:

# 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


Untuk beberapa alasan killall -SIGIN openvpntidak berhasil untuk saya, tetapi langkah-langkah di atas berhasil.


Nah, ini jawaban terbaik menurut saya. Proses membunuh adalah metode yang aneh, tetapi meminta layanan untuk berhenti harus melakukan hal-hal sebagaimana mestinya.
Sopalajo de Arrierez

Secara umum, Anda tidak boleh "membunuh -9" hal-hal sebelum Anda mencoba interupsi atau yang sudah ada terlebih dahulu. Program dapat menangkap interupsi dan melakukan pembersihan, tetapi tidak dapat menangkap sinyal sembilan (istilah). Khususnya dalam kasus openvpn, membunuhnya dengan -9tidak mengizinkan skrip posting berjalan, dan sangat mungkin akan meninggalkan rute yang sekarang tidak valid dan bertebaran. Idealnya, Anda akan kill -SIGINT, lalu menunggu beberapa detik untuk pid berakhir, dan hanya pergi dengan -SIGTERM/ -9jika tidak keluar sebelum itu.
dannysauer

4

Coba ini

killall -SIGINT openvpn

Anda bisa mendapatkan info lebih lanjut tentang sinyal berbeda yang dapat Anda kirim ke sini: http://openvpn.net/index.php/open-source/documentation/howto.html#control


killall -SIGINT openvpnopenvpn (15360): Operasi tidak diizinkan openvpn: tidak ada proses yang ditemukan sudo killall -SICINT openvpn SICINT: sinyal tidak dikenal; killall -l mendaftar sinyal.
Adam

1
sudo killall openvpndi terminal baru bekerja untuk saya.
Adam

@ Adam: ini SIGINT, bukanSICINT
Dzamo Norton

Perintah kill and killall mengirim SIGTERM secara default, yang menurut dokumentasi memiliki efek yang sama dengan SIGINT. Jadi, keduanya akan bekerja secara setara - jika dieja dengan benar. ;)
dannysauer

3

CTRLTekan saja + Cdi terminal Anda baru saja memulai OpenVPN.


2
Bagaimana jika itu dimulai dengan flag -daemon (background)? Itu tidak mungkin dalam kasus ini.
mr-sk

1
Ini juga meninggalkan 'tun0' sebagai antarmuka, jadi tidak mungkin untuk memulai ulang tanpa me-reboot atau melakukan beberapa pengeditan file konfigurasi sistem saat menjalankan.
Dennis

1
Bagaimana jika terminal ditutup secara tidak sengaja. ?
varun

@ Dennis ifconfig tun0 downmembantu dalam kasus ini.
gnysek

2

Dalam hal sudo killall openvpn tidak menyelesaikan pekerjaan (saya mengalaminya beberapa kali) maka solusi yang tajam dan fatal adalah:

pgrep openvpn | xargs sudo kill -9

0

setelah berjalan sudo killall openvpnatau service openvpn stopantarmuka virtual "tun0" akan tetap dibuka dan direferensikan di tabel rute, jadi sebenarnya koneksi terkait akan hilang karena layanan openvpn terbunuh.

solusinya adalah menghapus koneksi virtual ini setelah mematikan layanan openvpn, karena dibuat setiap saat ketika layanan openvpn terhubung.

jadi Anda perlu menjalankan perintah di bawah ini untuk memutus openvpn:

$ sudo killall openvpn
$ sudo ip link delete tun0

-1

sudo update-rc.d openvpn nonaktifkan

Atau edit file konfigurasi di / etc / default / openvpn

sudo nano / etc / default / openvpn

Dan batalkan komentar pada baris:

#AUTOSTART="none"

Jadi sepertinya:

AUTOSTART="none"

Maka Anda harus menjalankan:

sudo service openvpn start < vpn-name > untuk memulai VPN secara manual.

sudo service openvpn stop < vpn-name > untuk menghentikan VPN secara manual.

<vpn-name> adalah nama file config tanpa ekstensi .conf

terletak di / etc / openvpn dan tanpa <>

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.