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

一切搞定