Freeradius Max-Daily-Session в пользовательской аутентификации

На самом деле у меня есть 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 и пользовательской аутентификацией?


person Polarix    schedule 01.04.2016    source источник


Ответы (1)


Какой у тебя насас? Метод радиуса Session-Timeout:

  1. пользователь Вход в радиус от nas
  2. радиус ответ Session-Timeout 600s в NAS
  3. через 600 секунд NAS отключит пользователя A. Это не радиус отправки пакета Disconnect на NAS.

Вы должны использовать атрибут Session-Timeout := 600.

person Chuan EasyZone Mikrotik Billin    schedule 05.04.2016