如何停止 vpnc IPSec VPN 并关闭隧道接口
问题:
vpnc_start.sh
$ sudo vpnc my-vpn.conf
VPNC started in background (pid: 21763)...但你找不到关于如何停止 vpnc 即终止 VPN 连接的任何信息。
解决方案
首选方法:使用 vpnc-disconnect
Run
vpnc_disconnect.sh
sudo vpnc-disconnect例如,这将打印
vpnc_terminating.txt
Terminating vpnc daemon (pid: 21763)vpnc-disconnect 是停止 vpnc 的官方方法,将终止其 PID 写入 /var/run/vpnc.pid 的 vpnc 实例。换句话说,如果你同时运行多个 vpnc 实例,或者如果你为 vpnc 指定了备用 PID 文件(例如使用 vpnc --pid-file /var/run/my-vpnc.pid my-vpn.conf),它将无法正常工作。
替代方法 1:停止当前机器上的所有 vpnc 实例
你可以使用以下命令 kill 当前机器上的所有 vpnc 实例
vpnc_killall.sh
sudo killall vpncvpnc 在启动时告诉你其进程 ID。在我们上面的示例中:
vpnc_start_example.txt
VPNC started in background (pid: 21763)...PID 为 21763,因此我们可以使用以下命令终止进程
vpnc_kill_specific.sh
sudo kill 21763这将干净地停止 vpnc 并移除隧道接口。
替代方法 3:终止特定 vpnc(如果你不知道其 PID)
使用以下命令显示所有正在运行的 vpnc 实例
pgrep_vpnc.sh
pgrep -a vpnc例如,这将向你显示
pgrep_vpnc_example.txt
21763 vpnc my-vpn.conf
30792 vpnc other-vpn.conf在该列表中,找到你要终止的 vpnc 实例所在行(你可以通过配置文件名识别它,例如 my-vpn.conf - 在此示例中,它将是第一行)。
行开头的数字是该 vpnc 进程的 PID。复制它并运行
pgrep_vpnc_example.txt
21763 vpnc my-vpn.conf
30792 vpnc other-vpn.confe.g.
vpnc_kill_example.sh
sudo kill 21763就像替代方法 2中一样。这只会停止该特定 vpnc 实例并保留所有其他实例运行。
Check out similar posts by category:
Networking
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow