我已经使用Unifi AP和freeradius实现了Radius MAC身份验证。我主要是使用Radius来设置设备应该发送的vlan,以允许统一的SSID处理多个vlan。(这是一个家庭网络,不是企业,所以我不关心mac欺骗的情况)。任何MAC连接都将获得一个vlan (但非半径用户默认将进入来宾vlan )。
自由的问题是我如何为每个MAC用户定义分配一个组值,然后使用这个组名来定义特定的属性,比如隧道类型、隧道媒体类型和隧道私有组Id。我只是想这样做,以避免重复所有这些隧道值的每一个设备。
示例(不确定语法是否正确)
授权文件AABBCCDDEEFFGG Group := "iot", Cleartext-Password := "AABBCCDDEEFFGG"
启用站点/默认设置(我认为它可能在这里)
if (group == "iot) { #update reply, set Tunnel-* values }
任何一个人能提供的指导都是很棒的。我发现的所有例子似乎都在使用mysql后端,我不需要额外的复杂性。
发布于 2022-04-16 18:50:11
我用控制变量找出了这个问题。这是解决办法。
ATTRIBUTE VLAN-Group-Name 3000 string
AA-BB-CC-DD-EE-FF Cleartext-Password := "AA-BB-CC-DD-EE-FF", VLAN-Group-Name := "iot"
在您的虚拟服务器中的
switch "&control:VLAN-Group-Name" {
case "iot" {
update reply {
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = XXX
}
}
case "general" {
update reply {
Tunnel-Type = 13,
Tunnel-Medium-Type = 6,
Tunnel-Private-Group-Id = XXX
}
}
}
这使您可以保持授权文件与仅与用户保持干净,并分配给他们一个组,并保持组的值简化后auth。如果您需要更改任何组的vlan #,只需更新一次并重新启动即可。
干杯!
https://stackoverflow.com/questions/71863025
复制相似问题