Moodle集成MS Active Directory时LDAP模块无法连接服务器的问题排查求助
排查Moodle集成MS-AD时LDAP连接失败的问题
从你给出的错误信息LDAP-module cannot connect to any servers: Server: 'ldap://europe.domain.com/', Connection: 'Resource id #16', Bind result: ''来看,核心问题是LDAP绑定操作失败,导致Moodle无法和AD服务器建立有效连接。下面是几个最可能的原因和对应的排查步骤:
网络连通性与端口可达性问题
首先确认Moodle服务器能正常访问AD服务器:- 在Moodle服务器上执行
ping europe.domain.com,看是否能收到AD服务器的响应,排除基础网络不通的情况。 - 执行
telnet europe.domain.com 389(Linux服务器也可用nc -zv europe.domain.com 389),检查LDAP默认端口389是否开放并可达。如果连接被拒绝,大概率是AD服务器的防火墙拦截了请求,或者网络路由存在问题。
- 在Moodle服务器上执行
绑定DN或密码错误
你配置的绑定DN是cn=ldap-user,dc=europe,dc=domain,dc=com,请重点确认:- 这个DN完全匹配AD中
ldap-user账户的distinguishedName属性(可在AD用户和计算机里,通过属性编辑器找到该值),比如有没有拼写错误、OU层级顺序错误? - Moodle配置中输入的绑定密码和AD中
ldap-user的密码完全一致,注意大小写、特殊字符不要输错——哪怕设置了密码永不过期,输错密码也会直接导致绑定失败。
- 这个DN完全匹配AD中
域名解析问题
确保Moodle服务器能正确解析europe.domain.com到AD服务器的IP地址:- 在Moodle服务器上执行
nslookup europe.domain.com(Windows)或dig europe.domain.com(Linux),查看返回的IP是否是你的AD服务器的正确IP。如果解析到错误的IP,自然无法建立连接。
- 在Moodle服务器上执行
LDAP用户的权限问题
虽然当前是绑定失败,但提前确认权限可以避免后续踩坑:ldap-user账户是否被授予了读取ou=moodleusers组织单元及其下属用户对象的权限。可以在AD中右键该OU,选择“属性”-“安全”,添加ldap-user并赋予“读取”权限。
LDAP版本与TLS设置
你设置的LDAP版本是3,这个没问题,但如果AD服务器强制要求使用TLS,而你设置了Use TLS: No,也可能导致连接被拒绝。可以尝试开启TLS(注意需要AD服务器配置好证书,且Moodle服务器信任该证书),或者确认AD服务器允许非TLS的LDAP连接。
建议先从网络连通性、绑定DN/密码这两个最常见的点开始排查,应该能快速定位问题。
内容的提问来源于stack exchange,提问作者Kuezy
相关产品推荐
相关产品推荐

