我有一个用于 WPA 身份验证(PEAP + MSCHAPv2)的 FreeRADIUS (3.0.15) 服务器,一切都是开箱即用的,即使感觉就像在封闭的修道院中学习一辈子才能掌握配置的每一点。
我在文件中有我的用户,users
我想保持这种方式(相对于 sql 或 ldap),因为我喜欢使用简单的文本编辑器编辑用户的便利。
我要完成的工作:
我有两个 SSID (staff
和guests
),我想将我的用户分成两组,这样如果来宾用户尝试在staff
SSID 上进行身份验证,就会被拒绝。
到目前为止我所拥有的:
在我的users
文件中:
DEFAULT
MyGroup := 'guests',
Fall-Through := Yes
# Guest users
guest1 Cleartext-Password := 'password1'
# End of guest users
DEFAULT
MyGroup := 'staff',
Fall-Through := Yes
# Staff users
staff1 Cleartext-Password := 'kdjsfhksf'
# End of staff users
我的希望是,在解析文件之后,该reply:MyGroup
属性具有staff
或guest
取决于与请求匹配的用户。
我的dictionary
文件有这个:
ATTRIBUTE MyGroup 3000 string
我的default
网站在authorize
组中就有这个,就在files
模块之后。rewrite_called_station_id
创建了一个新属性Called-Station-SSID
,我使用它沿着 mod 创建的attrMyGroup
来files
尝试过滤用户:
# get SSID from Called-Station-Id
rewrite_called_station_id
# check guest connecting to staff SSID and reject if so
if (&MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
reject
}
我也试过这个:
if (&reply:MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
但无论如何我都会收到以下错误:
if (&reply:MyGroup == 'guests' && &Called-Station-SSID == 'STAFF') {
ERROR: Failed retrieving values required to evaluate condition
在这一点上,我不知道发生了什么以及如何解决它。
如果您想将组分配给用户,请检查将项目插入
&control
列表的项目,即接着