Як відключитись від OpenVPN?


29

Я підключаюсь за допомогою серверів VPNBook, і це чудово працює з цією командою:

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

але я просто не можу зрозуміти, як зупинити це без перезавантаження.

Я пробував service openvpn stopі /etc/init.d/vpnbook stop, але це , здається , не впливає на це.


Як саме з ifconfig?
Адам

Яка б це була? eth0, lo, tun2 або wlan0
Адам

просто зробіть> sudo /etc/init.d/network-manager перезапустіть <
Qasim

Мені цікаво, коли VPN запускається таким чином, це не відображається в мережевому менеджері. Я завжди використовував підключення та відключення мережевого менеджера, і зараз не маю VPN для тестування, але цікавився.
Денніс

Відповіді:


45

Ця команда, безумовно, працює для мене, і вона повинна працювати і для вас.

sudo killall openvpn

Може знадобитися sudo apt-get install psmiscдля деяких побудов
геотеорія

Мені довелося вбити -9 на Ubuntu 16.04 (так, я знаю ...)
Грегор

11

Успішні кроки в моєму випадку були:

# 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


Чомусь killall -SIGIN openvpnу мене не вийшло, але зроблені вище дії.


Ну, це найкраща відповідь на мою думку. Процес вбивства - це дивний метод, але вимагати припинення служби повинно виконуватись як слід.
Sopalajo de Arrierez

Взагалі, ви не повинні "вбивати -9" речей, поки ви не спробували перервати або іншим чином чисто існуючи. Програми можуть зафіксувати перерву та зробити очищення, але не можуть вловлювати сигнал дев'ять (термін). Зокрема, у випадку openvpn, вбивство з ним -9не дозволяє запускати сценарії поштового зв’язку, і, швидше за все, залишить недійсні маршрути прокладки навколо. В ідеалі, ви б kill -SIGINTзачекали кілька секунд, поки підказка закінчиться, і піти лише з -SIGTERM/ -9якщо він не вийшов до цього.
dannysauer

4

Спробуйте це

killall -SIGINT openvpn

Ви можете отримати більше інформації про різні сигнали, які ви можете надіслати тут: http://openvpn.net/index.php/open-source/documentation/howto.html#control


killall -SIGINT openvpnopenvpn (15360): Операція не дозволена openvpn: не знайдено процес sudo killall -SICINT openvpn SICINT: невідомий сигнал; killall -l перераховує сигнали.
Адам

1
sudo killall openvpnв новому терміналі працював на мене.
Адам

@Adam: так SIGINT, ніSICINT
Дзамо Нортон

Команди kill і killall посилають SIGTERM за замовчуванням, що, як каже документація, має той же ефект, що і SIGINT. Отже, або працювали б рівномірно - якщо правильно написано. ;)
dannysauer

3

Просто натисніть CTRL+ Cу терміналі, який ви тільки що запустили OpenVPN.


2
Що робити, якщо це було запущено із прапором -daemon (фон)? У цьому випадку це неможливо.
mr-sk

1
Крім того, це залишає "tun0" як інтерфейс, тому неможливо перезапустити без перезавантаження або виконання деякого редагування файлів системної конфігурації під час роботи.
Денніс

1
Що робити, якщо термінал був закритий випадково. ?
varun

@Dennis ifconfig tun0 downдопомагає в цьому випадку.
gnysek

2

Якщо ви sudo killall openvpnне закінчите роботу (я кілька разів переживав це), то гострим і смертельним рішенням було б:

pgrep openvpn | xargs sudo kill -9

0

після запуску sudo killall openvpnабо service openvpn stopвіртуальний інтерфейс "tun0" залишатиметься відкритим і посилається на таблицю маршрутів, тому фактично пов'язані зв’язки будуть втрачені з моменту вбивства служби openvpn.

рішення полягає в тому, щоб видалити це віртуальне з'єднання після вбивства служби openvpn, оскільки воно створюється кожного разу, коли служба openvpn підключається.

тому вам потрібно запустити нижче команди для відключення openvpn:

$ sudo killall openvpn
$ sudo ip link delete tun0

-1

sudo update-rc.d openvpn відключити

Або відредагуйте конфігураційний файл у / etc / default / openvpn

sudo nano / etc / default / openvpn

І прокоментуйте рядок:

#AUTOSTART="none"

Так виглядає:

AUTOSTART="none"

Тоді вам доведеться запустити:

sudo service openvpn start < vpn-name > вручну запустити VPN.

sudo service openvpn stop < vpn-name > вручну зупинити VPN.

<vpn-name> - це ім'я файлу конфігурації без розширення .conf

розташований у / etc / openvpn та без <>

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.