如何配置RHEL8.10客户端连接AD LDAP服务器(TLS/636端口)
解决RHEL8连接AD LDAPS的问题
一、修复基础配置错误
启用核心ldap.conf参数
编辑/etc/openldap/ldap.conf,取消以下行的注释并修正内容:BASE dc=test,dc=homenetwork,dc=com URI ldaps://10.244.188.26:636BASE必须匹配你的AD域完整DN,根据你提供的注释,域为test.homenetwork.com,对应DN为dc=test,dc=homenetwork,dc=com。URI需明确使用ldaps://协议,对应636端口(注意不要写成ldap://)。
修正TLS证书配置
- 确认你导入的
LDAPS.pem是AD域控制器的CA根证书(而非服务器证书),且为Base64编码格式(可将AD导出的CER证书直接重命名为PEM)。 - 将证书移动到
/etc/openldap/cacerts/目录,执行c_rehash /etc/openldap/cacerts/生成证书哈希链接(OpenLDAP依赖此链接识别证书)。 - 更新
ldap.conf的证书路径:TLS_CACERT /etc/openldap/cacerts/你的CA证书文件名.pem - 暂时不要设置
TLS_REQCERT never,先确保证书验证流程正常,后续再按需调整。
- 确认你导入的
二、解决"ldap_bind: Invalid credentials (49)"错误
此错误大多因绑定DN格式错误或密码问题导致:
使用正确的绑定DN格式
AD默认的Administrator用户位于内置Users容器(而非OU),正确的绑定DN为:CN=Administrator,CN=Users,DC=test,DC=homenetwork,DC=com你之前写的
OU=Users是错误的,AD中默认Users容器用CN=Users标识。执行正确的ldapsearch命令
使用以下命令测试连接(替换为你的实际信息):ldapsearch -x -D "CN=Administrator,CN=Users,DC=test,DC=homenetwork,DC=com" -W -b "DC=test,DC=homenetwork,DC=com" "(objectClass=user)"-x:启用简单绑定(非SASL模式)-D:指定绑定用户的完整DN-W:交互式输入密码(避免明文泄露)-b:设置搜索的基准DN(objectClass=user):搜索过滤器,用于返回所有用户对象
三、剩余问题排查
验证网络与TLS握手
- 用
ping 10.244.188.26确认网络连通性,用telnet 10.244.188.26 636测试端口是否开放。 - 执行
openssl s_client -connect 10.244.188.26:636检查TLS握手是否正常,查看证书链是否完整。
- 用
检查AD端配置
- 确认AD域控制器已启用LDAPS(默认AD安装后自动启用,但需保证证书有效)。
- 检查AD防火墙是否允许636端口的入站连接。
启用调试日志定位问题
执行带调试参数的ldapsearch命令,获取详细错误信息:ldapsearch -d 1 -x -D "CN=Administrator,CN=Users,DC=test,DC=homenetwork,DC=com" -W -b "DC=test,DC=homenetwork,DC=com" "(objectClass=user)"
内容的提问来源于stack exchange,提问作者spyros
相关产品推荐
相关产品推荐

