我正在尝试配置 FreeRadius 以使用动态 VLAN 分配。
我正在尝试做的是,为已知主机返回一个特定的 VLAN ID,但为未知主机返回一个默认 VLAN ID。
这是我第一次尝试创建一个 /etc/freeradius/users 文件,其中包含一个有效的 mac 地址......
DEFAULT
Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Fall-Through = Yes
00188bc6db33 Cleartext-Password := "00188bc6db33"
Tunnel-Private-Group-ID := 9
DEFAULT
Auth-Type = Accept,
Tunnel-Private-Group-ID = 1
如果我使用有效的 mac 地址进行测试,它可以正常工作并返回 VLAN ID 9
root@wwwcache1:/etc/freeradius# radtest 00188bc6db33 00188bc6db33
127.0.0.1 0 testing123 Sending Access-Request of id 251 to 127.0.0.1 port 1812
User-Name = "00188bc6db33"
User-Password = "00188bc6db33"
NAS-IP-Address = 10.58.3.132
NAS-Port = 0 rad_recv: Access-Accept packet from host
127.0.0.1 port 1812, id=251, length=35
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "9"
...但如果我使用未知的 MAC 地址,身份验证将被拒绝。
root@wwwcache1:/etc/freeradius# radtest 0123456789ab 0123456789ab
127.0.0.1 0 testing123 Sending Access-Request of id 13 to 127.0.0.1 port 1812
User-Name = "0123456789ab"
User-Password = "0123456789ab"
NAS-IP-Address = 10.58.3.132
NAS-Port = 0 rad_recv: Access-Reject packet from host
127.0.0.1 port 1812, id=13, length=20
我希望 radtest 能做到以下几点
root@wwwcache1:/etc/freeradius# radtest 0123456789ab 0123456789ab
127.0.0.1 0 testing123 Sending Access-Request of id 251 to 127.0.0.1 port 1812
User-Name = "0123456789ab"
User-Password = "0123456789ab"
NAS-IP-Address = 10.58.3.132
NAS-Port = 0 rad_recv: Access-Accept packet from host
127.0.0.1 port 1812, id=251, length=35
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "1"
如何强制 freeradius 始终返回 Access-Accept 数据包,而不管身份验证请求如何?
答案1
为交换机配置一个“失败身份验证”vlan 不是更好吗?我非常怀疑您是否能找到一种方法,让任何身份验证都始终表明任何用户名/密码组合都是正确的……而不会破坏很多东西。
答案2
默认设置中的问题是密码不匹配,这就是它拒绝其他 MAC 地址的原因,请尝试将您的默认设置写入
DEFAULT Cleartext-Password := "%{User-Name}"
Tunnel-Private-Group-ID := 1,
Reply-Message := "Hello %{User-Name}, You are assigned vlan 1"
这在我的计算机上运行得很好。