Я пытаюсь заставить работать оверлей цепочки OpenLDAP, но, к сожалению, документация довольно скудная.
Я использую пакеты OpenLDAP версии 2.4.39, которые поставляются с RHEL 6, а ведущее и ведомое устройства 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
атрибут на главном сервере.