1.添加流量统计器
vim /etc/raddb/sql/mysql/counter.conf
在末尾添加如下代码
sqlcounter monthlytrafficcounter {
counter-name = Monthly-Traffic
check-name = Max-Monthly-Traffic
reply-name = Monthly-Traffic-Limit
sqlmod-inst = sql
key = User-Name
reset = monthly
query = “SELECT (SUM(AcctInputOctets + AcctOutputOctets)) \
FROM radacct WHERE UserName=’%{%k}’ \
AND UNIX_TIMESTAMP(AcctStartTime) < ‘%b’”
}
2.添加字典
vim /etc/raddb/dictionary
在文件末尾添加下面两行
ATTRIBUTE Max-Monthly-Traffic 3003 integer
ATTRIBUTE Monthly-Traffic-Limit 3004 integer
3.启用Traffic Counter流量计数器
vim /etc/raddb/sites-enabled/default
在authorize区块的末尾添加monthlytrafficcounter(上面添加的流量统计器),像下面这样
authorize {
…
monthlytrafficcounter
}
4.往认证数据库添加CHECK ATTRIBUTE限制字段
在数据库的表radcheck(用户规则)里添加如下规则
Max-Monthly-Traffic := 1073741824
// 1073741824 bytes=1 Gbyte, 填写时以byte为单位这一步建议使用Web管理界面做,也方便以后管理
5.重启一下radiusd
service radiusd restart
一切搞定