有一个特殊的场景,我们希望使用 FreeRadius 使用 Kerberos 凭据登录交换机并使用 EAP-TLS 登录网络设备。
目前已配置并运行,但一次只能使用一个。因此,我可以使用 Kerberos 详细信息登录交换机,然后您会收到 radius 接受。当设备使用 EAP-TLS 时,它将获取机器名称并尝试使用该名称对 Kerberos 进行身份验证,但随后会失败,因为没有密码。
如果我注释掉“files”行,例如在 site-available/default 中,则不再读取用户文件,因此不再使用“default = auth-type kerberos”。随后将收到所有 eap-tls 请求的 radius 接受。
因此,我很抱歉没有发布任何配置或调试信息,但无法共享这些信息,但可以根据要求手动输入所需的任何元素。
所以我的问题是,是否有人知道如何同时配置 Freeradius 使用 kerberos 进行交换机管理身份验证和使用 EAP-TLS 进行网络机器身份验证。
提前谢谢了。
答案1
不要在所有情况下强制使用 Auth-Type - 仅当您想使用 Kerberos 时。
通常这可以通过配置“Auth-Type = Kerberos”而不是“Auth-Type := Kerberos”来实现 - 如果已经由 EAP 设置,前者将不会强制更新属性。
或者,不要使用文件模块设置 Auth-Type,而是在 unlang 中执行此操作,例如使用类似
if (!Auth-Type) {
update control {
Auth-Type := Kerberos
}
}
在调用 eap 之后。而不是说“如果(!Auth 类型)“您可能希望将其具体到应该使用 Kerberos 的请求,例如通过检查 Packet-Src-IP-Address / NAS-Identifier / Huntgroup / 等。