安装完freeradius和radius manager之后,在radius manager中只能显示在线用户,但是是不能显示在线用户使用的流量和连线时间,只有用户下线之后才可以查看用户在线的时间和使用的流量,很显然这并不方便。
下面的方法可以让radius manager里显示在线用户的流量和连接时间。
要修改的文件是/usr/local/etc/raddb/users
找到这个文件的第50行处
DEFAULT Auth-Type = Local
Exec-Program-Wait="/usr/local/bin/rmauth \"%{NAS-IP-Address}\" \"%{User-Name}\" \"%{Calling-Station-Id}\""
将其改为
DEFAULT Auth-Type = Local
Acct-Interim-Interval = 600,
Exec-Program-Wait="/usr/local/bin/rmauth \"%{NAS-IP-Address}\" \"%{User-Name}\" \"%{Calling-Station-Id}\""
Acct-Interim-Interval = 600,
添加的这一行的意思是每隔600秒更新一次在线用户的流量和连接时间,因为涉及到mysql数据库的操作所以这个间隔如果设置的太小例如设置成60虽然在线用户的流量统计和在线时间统计数据比较精确但是会增加mysql的负荷,所以通常设置成600,即每隔10分钟更新一次。
2、打开dictionary
vi /usr/local/etc/radiusclient/dictionary
在ATTRIBUTE属性的底部添加如下行
ATTRIBUTE Acct-Interim-Interval 85 integer
重启freeradius和vpn server即可生效。