Redhat
OpenLDAP 鏈覆蓋配置
我試圖讓 OpenLDAP 的鏈覆蓋工作,但不幸的是,文件相當稀疏。
我正在使用 RHEL 6 附帶的 OpenLDAP 版本 2.4.39 包,並且 LDAP 主從使用 TLS 進行通信。TLS 證書和密鑰與 Mozilla NSS 一起儲存,因此下面的
tls_certdir
和tls_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 主控設備的流量。
有誰知道我在這裡做錯了什麼?
您需要確保在數據庫而不是//數據庫
chain
上配置了覆蓋。因此,在您的數據庫中,您應該最終得到以下條目:frontend``hdb``mdb``bdb``cn=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
在主伺服器上配置屬性。