Как мне разорвать соединение OpenVPN с помощью Perl? - PullRequest
3 голосов
/ 10 августа 2010

Есть ли способ уничтожить пользовательское соединение OpenVPN командой Linux или Perl?

Ответы [ 5 ]

2 голосов
/ 13 августа 2010

для отключения подключенного пользователя:

/usr/bin/openvpn-sudo-user kill \"username\"

но сначала вы должны отключить пользователя.

1 голос
/ 06 мая 2016

если вы запустите openvpn как команду с модулем Perl Proc :: Background, вы также можете убить его с помощью того же 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";}
1 голос
/ 11 марта 2013

использование tcpkill ip host 192.168.1.2

1 голос
/ 11 августа 2010
Системный вызов

для программы tcpkill .

0 голосов
/ 29 марта 2011

Если вы запускаете OpenVPN автоматически как сервис во время загрузки, самый простой способ сделать это:

service openvpn stop

из командной строки (или выполнить его из perl)

/etc/init.d/openvpn stop

Вы можете убить его напрямую, как это предлагают другие, но использование предоставленного метода для остановки службы сделает любую дополнительную очистку, необходимую OpenVPN (например, очистка файлов блокировки, запуск файлов pid и т. Д.)AFIAK убивает OpenVPN в текущей версии, но кто знает, что будет с будущей версией.

...