我正在尝试使用 LDAP 模块根据 Active Directory 对 Radius 客户端进行身份验证,因此我需要让它实际使用 LDAP 作为身份验证器。但是,似乎未设置用户密码。首先,用户密码应该由客户端还是后端服务器发送?我的主要问题是,我做错了什么?
是的,我知道日志在向我尖叫“不要这样做”,但阅读自述文件似乎这通常是好的建议,但 AD 要求这样做。
答案1
使用 AD,您有两个凭证选项,要么是纯文本密码,要么是 NT 密码(密码的 MD4 哈希值)。使用纯文本身份验证,您可以使用 LDAP 身份验证绑定来验证凭证。
使用 NT-Password,您需要运行 MSCHAPv2 作为身份验证方法,并使用 winbindd(samba)之类的程序加入 AD 域。
然而,您遇到的直接问题是,您使用的是 CHAP,它只向 RADIUS 服务器提供质询响应不是明文密码。AD 中没有支持 RADIUS CHAP 身份验证的后端身份验证机制,因此如果您希望此功能正常工作,则需要说服 NAS(网络访问服务器)执行 PAP(用于使用经过身份验证的绑定的明文身份验证)或 MSCHAPv2(用于基于 winbind 的身份验证)。