![OpenLDAP 代理 AD 显示空树](https://linux22.com/image/679081/OpenLDAP%20%E4%BB%A3%E7%90%86%20AD%20%E6%98%BE%E7%A4%BA%E7%A9%BA%E6%A0%91.png)
我使用 OpenLDAP(在 docker 容器中)主要有两个目的:
1.) 拥有一个实际存储我的技术用户的本地树。2.) 代理特定查询到我的公司活动目录只是为了检索信息(我不想修改某些内容)。
到目前为止一切顺利。我在互联网上找到了几个教程,描述了如何将查询从 openldap 代理到活动目录,最后我使用这个配置(对于我的 OpenLDAP)来配置代理:
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: {2}back_ldap
dn: olcDatabase={2}ldap,cn=config
changetype: add
objectClass: olcDatabaseConfig
objectClass: olcLDAPConfig
olcDatabase: {2}ldap
olcDbURI: ldap://my_corporate_ad:389
olcSuffix: dc=my,dc=corporate,dc=ad,dc=com
olcDbRebindAsUser: TRUE
olcDbChaseReferrals: TRUE
设置完成后,我可以连接到本地树,并且它按预期工作。但是当我尝试使用代理凭据/基本 DN 连接到 OpenLDAP 时,我可以登录,但看不到任何树/条目。如果我查询 objectclass=*,ldapsearch 只会给我零结果。
当我查看来自 openldap 的日志时,它显示了以下输出:
56ebba59 conn=1007 fd=23 ACCEPT from IP=100.30.407.19:15313 (IP=172.17.0.3:389)
56ebba59 conn=1007 op=0 BIND dn="cn=dockers2eu,cn=Users,dc=my,dc=corporate,dc=ad,dc=com" method=128
56ebba59 conn=1007 op=0 BIND dn="cn=dockers2eu,cn=Users,dc=my,dc=corporate,dc=ad,dc=com" mech=SIMPLE ssf=0
56ebba59 conn=1007 op=0 RESULT tag=97 err=0 text=
56ebba59 conn=1007 op=1 SRCH base="dc=my,dc=corporate,dc=ad,dc=com" scope=1 deref=0 filter="(objectClass=*)"
56ebba59 conn=1007 op=1 SRCH attr=objectclass
Unable to chase referral "ldap://bkabkzasdh" (-1: Can't contact LDAP server)
Unable to chase referral "ldap://asdfjkasdja" (-1: Can't contact LDAP server)
Unable to chase referral "ldap://my.corporate.ad.com/CN=Configuration,DC=my,DC=corporate,DC=ad,DC=com??base" (-1: Can't contact LDAP server)
56ebba8f conn=1007 op=1 SEARCH RESULT tag=101 err=0 nentries=0 text=
56ebbacb conn=1007 op=2 SRCH base="dc=my,dc=corporate,dc=ad,dc=com" scope=0 deref=0 filter="(objectClass=*)"
56ebbacb conn=1007 op=2 SEARCH RESULT tag=101 err=0 nentries=0 text=
我在这里看到的是他无法追踪推荐。这应该没问题,因为我只想检索 AD 上本地存储的信息。
答案1
首先要确保您的 ldapsearch 正确。这将确定问题出在查询还是 LDAP 配置上。
将 ldapsearch 命令中的 ldap 主机更改为 -H ldap://my_corporate_ad:389 以直接查询 AD。如果返回结果,则您的搜索有效。如果没有,请先使其正常工作,然后再尝试使用 OpenLDAP。
在您的 LDAPConfig 中,您可能需要添加适当的 olcAccess 行,但我不确定这是否真的导致了您的问题。