Назад | Перейти на главную страницу

Как остановить pptpd, даже если есть активные подключения клиентов vpn?

После выдачи команды для остановки pptpd pptpd не остановится, пока все VPN-клиенты не отключатся. Следующий код показывает, что pptpd все еще работает после выдачи команды остановки.

ubuntu@ip-10-138-31-87:~$ sudo /etc/init.d/pptpd stop
Stopping PPTP: pptpd.
ubuntu@ip-10-138-31-87:~$ ps -ef |grep pptpd
root      5524     1  0 21:46 ?        00:00:00 pptpd [<myIp>:8544 - 0000]                                                                                                 
root      5525  5524  0 21:46 pts/1    00:00:00 /usr/sbin/pppd local file /etc/ppp/pptpd-options 115200 192.168.0.1:192.168.0.234 ipparam <myIP> plugin /usr/lib/pptpd/pptpd-logwtmp.so pptpd-original-ip <myIP>
ubuntu    5564  4668  0 21:50 pts/4    00:00:00 grep --color=auto pptpd

После того, как все активные подключения VPN-клиентов были отключены вручную, pptpd останавливается. Есть ли способ принудительно остановить pptpd даже при наличии активных клиентских подключений vpn?

Потратьте достаточно времени, чтобы правильно написать сценарий, и вы сможете использовать команду tcpkill или cutter внутри сценария инициализации, чтобы соединения были прерваны до попытки остановить демон (при условии, что вы не пробовали использовать команду kill и что здесь происходит некоторая форма автореспауна, которая может ограничивать его эффективность).

http://www.cyberciti.biz/tips/cutting-the-tcpip-network-connection-with-cutter.html http://www.cyberciti.biz/howto/question/linux/kill-tcp-connection-using-linux-netstat.php

killall pppd

Это, очевидно, уничтожит все соединения ppp, включая клиентов pptp

В наши дни я думаю, что все мы не используем коммутируемые соединения ppp, поэтому вы не рискуете прервать какое-либо активное подключение к Интернету, поэтому это должно быть сделано для вас.

Или вы можете сделать

ps -aux | grep ppp

и получите список pid, связанных с соединениями pptp, и уничтожьте их вручную один за другим.