freeradius中rlm_sqlcounter模块对时间和流量限制的实验笔记

本文介绍了如何使用Freeradius的rlm_sqlcounter模块来实现用户的时间和流量限制。通过设置sqlcounter模块,计算并比较用户在radacct表中的累计上线时间和Max-All-Session限制,达到限制用户最大上线时间的目的。同时,利用Chillispot-Max-All-Octets等属性限制流量,防止超出限制的用户再次登陆。实验环境包括Fedora、MySQL和Freeradius 1.1.7。注意不同版本可能存在的属性命名差异和配置问题。
摘要由CSDN通过智能技术生成
实验环境
fedora6 kernel:2.6.18-1.2798.fc6
mysql 5.0.22
freeradius 1.1.7

该模块可以生成一个临时的check属性,该属性的值通过sql语句从sql数据库中的raddacct表统计数据,然后将它与数据库radcheck或者 radgroupcheck表中的该属性的值(已经被

添加到check items中)进行比较,符合规则的才会通过authorize。
eg.
sqlcounter noresetcounter {

counter-name = Max-All-Session-Time #没有发现有什么用

check-name = Max-All-Session  #对应radcheck表中的attribute

reply-name = Session-Timeout #返回给NAS的attribute type,这里为Session-Timeout

sqlmod-inst = sql  #指定查询类型

key = User-Name  #

reset = never  #sqlcounter重置频率,通常为hourly, daily, weekly, monthly,never

query = "SELECT SUM(AcctSessionTime) FROM radacct WHERE UserName=’%{%k}’"

}
将上边的内容加到radiusd.conf的modules中(在modules中已经有sqlcounter的示例),并在authorize中加入noresetcounter,这样在认证过程
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值