有没有办法用Linux或Perl命令终止用户的OpenVPN连接?
答案 0 :(得分:2)
用于断开连接的用户:
/usr/bin/openvpn-sudo-user kill \"username\"
但首先应禁用该用户。
答案 1 :(得分:1)
系统调用 tcpkill 程序。
答案 2 :(得分:1)
使用tcpkill ip host 192.168.1.2
答案 3 :(得分:1)
如果你使用perl模块Proc :: Background启动openvpn作为命令,你也可以使用相同的Proc :: Background杀死他:
#!/usr/bin/perl
use strict;
use warnings;
use Proc::Background;
my $command = 'openvpn --config /etc/openvpn/client.conf';
my $proc = Proc::Background->new($command); $proc->alive;
print "started\n";
sleep (30);
if ($proc->alive == 1) { $proc->die; print "stopped\n";}
答案 4 :(得分:0)
如果您在启动时自动启动OpenVPN作为服务,那么最简单的方法是:
service openvpn stop
从命令行(或从perl执行)
/etc/init.d/openvpn stop
您可以像其他建议一样直接杀死它,但使用提供的方法来停止服务将执行OpenVPN需要的任何额外清理(例如,清理锁定文件,运行pid文件等)
AFIAK在当前版本中杀死OpenVPN会很好,但谁知道未来的版本。