我目前有一个使用 EAP-TTLS 的 FreeRADIUS 设置。
我想这样设置:来自本地主机的请求使用 PAP,但其他请求仍使用 EAP-TTLS。
如何选择每个客户端使用的身份验证方法?
答案1
您可以使用%{client:}
扩展来查询请求来源客户端的属性。
authorize {
if ("%{client:shortname}" == 'localhost') {
pap
} else {
eap
}
}
如果客户端配置了“localhost”的短名称,则添加上述代码片段将导致调用 pap 模块,否则将调用 eap 模块。
您实际上可以将任意属性放置在客户端部分中,并通过客户端扩展引用它们,即
client my_client {
ipaddr = 127.0.0.1
foo = 'bar'
}
"%{client:foo}" # Which would expand to "bar"