配置freeradius各种限制的配置方法

设置用户过期时间

例如、限制名为sxy的用户过期日期为2006年7月6号14时55分22秒、只需要写在radcheck表就行了

复制代码
INSERT INTO  `radius`.`radcheck` (
`id` ,
`username` ,
`attribute` ,
`op` ,
`value`
)
VALUES (
NULL , 'sxy', 'Expiration', ':=', '06 Jun 2006 14:55:22'
);
复制代码

也可以限制组、把sxy等用户添加在相应的组下面、然后在radgroupcheck、插入这些数据、就实现整个组的过期时间了

设置每月的流量

如设置一个用户组limit下、每个用户的流量为1GB

编辑counter.conf文件

vim /etc/freeradius/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
# DIV 1048576(equal 1024 * 1024),means set trafficcounter unit to MB
query = "SELECT SUM(acctinputoctets + acctoutputoctets) DIV 1048576 FROM radacct WHERE UserName='%{%k}' AND UNIX_TIMESTAMP(AcctStartTime) < '%b'"
}
复制代码

counter-name、暂时没发现有什么用

check-name、这个属性非常重要、是到时加入sql的字段属性

reply-name、验证的类型、到时在dictionary定义、后面会讲

sqlmod-inst和key就不说了、基本不会变化

reset意思是每月重置一次设置、也可以选never、dayly等等

接下来就是一句SQL的查询语句、作用是查询这个月的总流量、SUM语句的作用是把流进流出的总流量加起来、然后再使用DIV除以1048576、因为流量单位是以字节为单位、非常的不方便、所以转换成以MB为单位1024字节等于1KB、1024KB等于1MB、所以1048576就这么来的、后面的WHERE是条件语句、%k代表key、key的值为User-Name、所以User-Name就是指代用户登录时的用户名、后来的UNIX_TIMESTAMP为从UNIX的某段时间至今的秒数、好像是从1976年吧、具体不记得、总之这个是一个定值、将连接的开始时间转换成总秒数和重置时间进行比较、%b就是从reset后的日期转化成UNIX_TIMESTAMP、这两个作比较、其实就是把最近一次重置时间之前的流量都忽略不计、只计算重置之后的总流量

然后在radiusd.conf打开读取counter.conf的配置

vim /etc/freeradius/radiusd.conf

取消掉counter.conf前的#来读取设置

#$INCLUDE sql/mysql/counter.conf

然后再打开文件default

vim /etc/freeradius/sites-enabled/default

在authorize块中加上monthlytrafficcounter、其实就是刚刚在counter.conf里面添加的那段函数名

authorize {

monthlytrafficcounter
}

然后再在dictionary加上以上字段

vim /etc/freeradius/dictionary

然后在dictionary加上以下内容

ATTRIBUTE Max-Monthly-Traffic 3003 integer
ATTRIBUTE Monthly-Traffic-Limit 3004 integer

这里就是前面counter.conf的reply-name所用到的字词、前面的属性值是固定的、接着就是在counter.conf那里的、接下来的3003和3004则是一个类似于属性ID值的冬冬、有两个条件、范围是3000到4000、而且不允许重复!再下来就是属性值的类型了、

现在接着可以在SQL里定义相应的属性了、比如莪想限制一个用户组每月使用的流量是1G、便在radgroupcheck里定义以下内容

INSERT INTO radgroupcheck(groupname, attribute, op,value) values('limitgp','Max-Monthly-Traffic',':=','1024');

这句就是在组为limitgp的用户、限制每个月的流量为1024MB的方法、因为之前已经在counter.conf设置了单位为MB、所以这里直接写MB就可以了、不需要再使用字节了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是在Linux系统中使用FREERADIUS配置DOT1x的基本步骤: 1. 安装FREERADIUS软件包 ``` sudo apt-get update sudo apt-get install freeradius ``` 2. 配置FREERADIUS服务器 在`/etc/freeradius/`目录下,编辑`/etc/freeradius/users`文件,添加用户信息。例如: ``` bob Cleartext-Password := "password" ``` 这将创建一个名为“bob”的用户,密码为“password”。此外,还需要在`/etc/freeradius/clients.conf`文件中添加客户端信息。例如: ``` client 192.168.1.0/24 { secret = testing123 shortname = localnet } ``` 这将创建一个名为“localnet”的客户端,IP地址为“192.168.1.0/24”,共享密钥为“testing123”。 3. 配置DOT1x认证 在`/etc/freeradius/eap.conf`文件中,配置EAP认证协议,例如: ``` eap { default_eap_type = peap timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 4096 tls { private_key_password = password private_key_file = /etc/freeradius/certs/server.pem certificate_file = /etc/freeradius/certs/server.pem ca_file = /etc/freeradius/certs/ca.pem dh_file = /etc/freeradius/certs/dh } peap { default_eap_type = mschapv2 copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } } ``` 这将启用PEAP认证协议,并将其配置为使用MSCHAPv2作为默认EAP类型。 4. 配置网络接入设备 在网络接入设备(例如交换机或无线接入点)上,配置DOT1x认证。根据设备型号和厂商不同,具体配置方式可能会有所不同。 5. 测试认证 使用以下命令测试认证: ``` radtest bob password localhost 0 testing123 ``` 这将使用用户名“bob”和密码“password”对本地FREERADIUS服务器进行认证。 以上就是使用FREERADIUS配置DOT1x认证的基本步骤。具体的配置方式可能会因环境和需求的不同而有所变化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值