FreeRadius服务器:最大连接用户的RadGroupReply属性?

我有一个FreeRadius服务器,我想设置连接到特定NAS的用户数量的限制。 我目前的设置是每个连接到某个NAS的用户都被添加到连接到该NAS的Radius用户组。 然后,RadGroupReply完成了我想为特定NAS的用户所做的事情。 目前,我可以设置最大的下载速度限制以及会话超时,但是我想知道如果我限制允许连接到特定NAS的最大用户数量是什么属性。

谢谢。

当然,首先你需要用SQL数据库(如postgresql或MySQL)来设置RADIUS记帐。

然后,您需要实现过时会话检测的解决scheme。 这可以像使用cron作业启用临时更新和closures最后更新之前的会话(NOW() - <interim time>)简单。 如何计算过去的时间因数据库而异,因此您必须为您使用的数据库find正确的语法。

最后,您需要编写一个unlang策略,为NAS获取实时会话计数并将其与configuration的最大值进行比较。 在FreeRADIUS v3.0.x中,您可以将任意对与NAS相关联,并将其添加到客户端部分。

示例客户端部分:

 client test { ipaddr = 127.0.0.1 secret = 'testing123' max_users = 10 } 

示例政策:

 authorize { if ("%{sql:SELECT COUNT(*) FROM radacct WHERE nasipaddress = '%{NAS-IP-Address}' AND acctstoptime != NULL}" > "%{client:max_users}") { update reply { Reply-Message := 'Sorry, too many users connected, please try again later' } reject } }