Стас, возможно ли добавить функцию, что-то типа kick пользователя?
Просто иногда есть такая необходимость, чтоб пользователь переподключился..
Для mpd5 сделать, чтоб в базу записывался интерфейс и дальше чтоб он скрипт сбрасывал пользователя по имени интерфейса.
#!/usr/bin/perl
$hostname="127.0.0.1";
$port="5005";
$login='warlock';
$passw='bar';
if( $ARGV[0] eq '' ) { die 'Usage: userkill.pl interface'; };
$interface=$ARGV[0];
use Net::Telnet ();
$t = new Net::Telnet ;
$t->open(Host => $hostname, Port => $port, Timeout => 10);
$t->binmode(1);
$t->waitfor('/Username:.*$/');
$t->print($login);
$t->waitfor('/Password:.*$/');
$t->print($passw);
$t->waitfor('/]/');
$t->print("iface ".$interface);
$t->waitfor('/]/');
$t->print("close");
$t->waitfor('/]/');
$t->print("exit");
exit 0;
А для модуля CoA чтоб посылался disconnect.
У меня такое в sql.conf радиуса что бы писалась сессия и номер влана, там и процедуры изменены
postauth_query = "call radupdate('%{User-Name}','%{reply:Framed-IP-Address}','%{Called-Station-Id}',\
'nas=%{NAS-IP-Address};ses=%{Acct-Session-Id}')"
accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}','%{Called-Station-Id}',\
'nas=%{NAS-IP-Address};ses=%{Acct-Session-Id}')
ну и потом по ses=%{Acct-Session-Id}' модулем CoA посылаю что нужно пользователю.
Ето с NAS accel-ppp приходит идентификатор сессии Acct-Session-Id, она уникальна вроде и для mpd5