自定义身份验证中的Freeradius Max每日会话


Freeradius Max-Daily-Session in custom authentication

实际上我通过mysql获得了AAA,一切都很好。特别是使用最大每日会话属性在连接10分钟(600秒)后断开用户连接。我最近改变了authenticazione使用自定义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}'"

在attributes.php中:

<?php
$User = $argv[1];
$Pass = $argv[2];
$Ip   = $argv[3];
if ($User == "test")
    echo "Max-Daily-Session:=600";
?>

服务器似乎不关心最大每日会话属性,也不发送断开连接的数据包。mysql和自定义身份验证之间有什么变化?

你的nas是什么?radius会话超时的方法是:

  1. user nas登录radius
  2. radius向nas回复Session-Timeout 600s
  3. 600s后,nas断开用户A的连接。不是radius向nas发送断开连接的数据包

您应该使用属性Session-Timeout := 600