На самом деле у меня есть AAA от mysql, и все работает нормально. Особенно используйте атрибут Max-Daily-Session для отключения пользователя после 10-минутного (600-секундного) подключения. Недавно я изменил способ аутентификации, используя собственный php-скрипт. В файле с поддержкой сайтов/по умолчанию:
authorize{
update control {
Auth-Type := `/usr/bin/php -f /etc/raddb/yourscript.php '%{User-Name}' '%{User-Password}' '%{Client-IP-Address}'`
}
В /etc/freeradius/users:
DEFAULT Auth-Type = Accept
Exec-Program-Wait = "/usr/bin/php -f /etc/raddb/attributes.php '%{User-Name}' '%{User-Password}' '%{Client-IP-Address}'"
В атрибутах.php:
<?php
$User = $argv[1];
$Pass = $argv[2];
$Ip = $argv[3];
if ($User == "test")
echo "Max-Daily-Session:=600";
?>
Похоже, что сервер не заботится об атрибуте Max-Daily-Session и не отправляет Packet of Disconnect. Что меняется между mysql и пользовательской аутентификацией?