在 freeradius 检查属性中可以使用 OR 语句吗?
我有 10 个通过 freeradius 进行身份验证的 VPN 服务器。大多数用户可以访问所有服务器,但我有一个演示用户只能访问其中 2 个服务器。
我可以进行设置,以便演示只能访问其中 1 个服务器,方法是将以下内容放入 radcheck 表/用户文件中
NAS-IP-Address==xxx.xxx.xxx.1
但我需要在其中有 OR 语句,例如:
NAS-IP-Address==xxx.xxx.xxx.1 OR xxx.xxx.xxx.2
这在 freeradius 中可行吗?
答案1
您可以使用=~
运算符和正则表达式xxx.xxx.xxx.1|xxx.xxx.xxx.2
参考:http://freeradius.1045715.n5.nabble.com/Logical-OR-with-Check-Attributes-td3265998.html
答案2
它只能在 freeradius 2.x 上工作。
在3.x上不能使用。
(1) sql:错误:解析值时出错:无法将“=xxx.xxx.xxx.1|=xxx.xxx.xxx.2|=xxx.xxx.xxx.3|=xxx.xxx.xxx.4”解析为 IPv4 地址:名称或服务未知 (1) sql:错误:从数据库结果解析用户数据时出错 (1) sql:错误:获取检查属性时出错