我已经从以下站点的帮助中安装了Freeradius和Daloradius。https://computingforgeeks.com/how-to-install-freeradius-and-daloradius-on-ubuntu/
我需要些帮助。我有一个独特的情况。
我有多个安装了mikrotik路由器的站点。我已经在单个位置安装了RADIUS,并使其成为用户hotspot用户(在Mikrotik上)身份验证的单点。
我所实现的是:当用户想要登录时,他被分配到XYZ速度限制和XYZ空闲时间和XYZ同时用户。
我所做的:出于测试目的,我制作了
Reply Attributes:
Fall-Through: value 1 , Op =
Check Attribues:
Auth Type: Value Reject, Op :=
WISPr-Location-ID: Value Site1, Op !=上面所做的是,它检查如果用户试图从一个WISPr-Location-ID现在为Site1的站点登录,它会拒绝该用户。如果WISPr-Location-ID为Site1,则允许用户登录。这就像我想要的那样工作良好。
我的目标是(我想要做的,但没有实现的)是:当用户实际在Site1 (允许他的地方)时,如果我应用速度限制、空闲超时和(检查属性)同时用户的回复属性,则它们不会被应用。
简而言之,我想:
如果用户在site1,则允许该用户并应用此速度限制、空闲超时和同时用户限制,否则拒绝和不允许在网络上。
在这方面,有没有人可以帮我?
发布于 2020-01-13 00:47:19
由于没人接电话,我换了一条路走。
在Radius数据库的用户表中,有一列"address“
我添加了我想要的站点名称作为地址,然后在
授权下的/etc/freeradius/3.0/sites enabled/default文件。
if ("%{sql: select address from userinfo where username = '%{User-Name}'}" != "%{WISPr-Location-ID}" && "%{sql: select address from userinfo where username = '%{User-Name}'}" != "all" ) {
update reply {
Reply-Message = 'Error: You are not allowed to connect form this Site !'
}
update control {
Auth-Type := "Reject"
}
}上面所做的是,它将查找路由器发送的WISPr-Location-ID,如果回复与写在用户地址中的内容匹配,它将允许用户连接到网络,如果用户在地址字段中写入了"all“,则无论来自路由器的回复如何,它都将允许用户连接到网络。
如果用户在地址字段中没有"all“,并且有一些其他条目与从路由器接收到的回复不匹配,它将向用户发送msg
“错误:不允许您从此站点连接!”
我希望这对其他人有帮助。
https://stackoverflow.com/questions/59667817
复制相似问题