Как отключиться от 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 restart <
Qasim
Мне любопытно, когда VPN запускается таким образом, он не отображается в диспетчере сети. Я только всегда использовал диспетчер сети для подключения и отключения и в настоящее время не имею VPN для тестирования, но удивился.
Деннис

Ответы:

45

Эта команда определенно работает для меня, и она должна работать для вас тоже.

sudo killall openvpn
AllGamer
источник
Может потребоваться 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у меня не сработало, но вышеперечисленные шаги сработали.

Нат Найдова
источник
Ну, это лучший ответ на мой взгляд. Процесс уничтожения является странным методом, но запрос на остановку службы должен делать все как надо.
Сопалахо де Арриерес
В общем, вам не следует «убивать -9», пока вы не попробуете прервать или иначе не очистите его. Программы могут поймать прерывание и выполнить очистку, но не могут поймать сигнал девять (термин). В частности, в случае openvpn, уничтожение его с помощью -9не позволяет запускать пост-скрипты и, скорее всего, оставит недействительные маршруты, которые теперь лежат. В идеале вы должны kill -SIGINTподождать несколько секунд, пока pid не закончится, и использовать только -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
Dzamo Нортон
Команды kill и killall отправляют SIGTERM по умолчанию, что, как сказано в документации, имеет тот же эффект, что и SIGINT. Таким образом, любой из них будет работать одинаково - если правильно написано. ;)
dannysauer
3

Просто нажмите CTRL+ Cв терминале, вы только что запустили OpenVPN.

Valkenier
источник
2
Что если он был запущен с флагом -daemon (background)? Это невозможно в этом случае.
г-н-ск
1
Кроме того, это оставляет «tun0» в качестве интерфейса, поэтому невозможно перезапустить без перезагрузки или внесения некоторых изменений в системный конфигурационный файл во время работы.
Деннис
1
Что, если терминал был закрыт случайно? ?
Варун
@Dennis ifconfig tun0 downпомогает в этом случае.
gnysek
2

В случае, если работа sudo killall openvpnне закончена (я испытал это несколько раз), тогда острым и фатальным решением будет:

pgrep openvpn | xargs sudo kill -9
yerlilbilgin
источник
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 и без <>

MasterCATZ
источник