OpenLDAP 链覆盖配置

OpenLDAP 链覆盖配置

我正在尝试让 OpenLDAP 的链覆盖发挥作用,但不幸的是,文档相当稀少。

我使用的是 RHEL 6 附带的 OpenLDAP 版本 2.4.39 软件包,LDAP 主服务器和从服务器使用 TLS 进行通信。TLS 证书和密钥存储在 Mozilla NSS 中,因此下面的tls_certdirtls_cert语句应该是正确的(它们肯定可以以这种形式进行复制)。

我的配置(slapd.conf形式上,使用前我将其转换为 OLC 符号)是:

overlay chain
chain-uri              ldap://my.ldap.master.example.com
chain-rebind-as-user   FALSE
chain-idassert-bind    bindmethod="simple"
                       binddn="cn=Manager,dc=example,dc=com"
                       credentials="xxxxxxxxxxxxxxxx"
                       mode="self"
                       starttls=yes
                       tls_reqcert=demand
                       tls_cacertdir=/etc/openldap/certs
                       tls_cert=my.ldap.slave.example.com
chain-tls              start tls_reqcert=demand tls_cacertdir=/etc/openldap/certs tls_cert=my.ldap.slave.example.com
chain-return-error     TRUE

[...syncrepl...]

updateref       ldap://my.ldap.master.example.com

我希望它能正常工作,以便将策略更新转发到主服务器(例如,当某人输错密码五次或更多次时,从服务器将把 pwdAccountLockedTime 发送给主服务器,而不是将其存储在本地)。为此,我在配置文件中设置了 ppolicy_forward_updates。

我已对此进行了测试,并且当我在从属服务器上进行更改时没有看到任何流向 LDAP 主服务器的流量。

有人知道我在这里做错了什么吗?

答案1

您需要确保chain覆盖是在frontend数据库上配置的,而不是在//hdb数据库上配置的。因此,在您的数据库中,您最终应该得到以下条目:mdbbdbcn=config

  • olcDatabase={-1}frontend,cn=config
  • olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config
  • olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config

我遇到了同样的问题,我在主数据库上配置了覆盖hdb,并且出现了同样的症状,即从从服务器到主服务器没有流量。一旦我将覆盖及其数据库重新设置为数据库,frontend它就开始工作了。

您可能还需要olcAuthzPolicy在主服务器上配置属性。

相关内容