Я хочу настроить мастер - подчиненная репликация между 2 серверами OpenLDAP.
Запуск ldapsearch -H ldapi: /// -Y EXTERNAL -b "cn = config" -LLL -Q "olcDatabase = *" dn
дает следующее:
на ведущем устройстве:
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcOverlay={0}syncprov,olcDatabase={0}config,cn=config
dn: olcDatabase={1}hdb,cn=config
dn: olcOverlay={0}memberof,olcDatabase={1}hdb,cn=config
dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
dn: olcOverlay={2}syncprov,olcDatabase={1}hdb,cn=config
на ведомом:
dn: olcDatabase={-1}frontend,cn=config
dn: olcDatabase={0}config,cn=config
dn: olcDatabase={1}mdb,cn=config
На ведомом я выполняю: ldapmodify -Y EXTERNAL -H ldapi: /// -f rp.ldiff
My rp.ldiff
выглядит так:
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=003
provider=ldap://192.168.2.3:389/
bindmethod=simple
binddn="uid=rpuser,dc=redacted,dc=co"
credentials=redacted
searchbase="dc=redacted,dc=co"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="30 5 300 3"
interval=00:00:05:00
Когда я добавил rpuser
, я использовал что-то вроде этого:
dn: uid=rpuser,dc=redacted,dc=co
objectClass: simpleSecurityObject
objectclass: account
uid: rpuser
description: Replication User
userPassword: redacted
И я получил такой результат:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}hdb,cn=config"
ldap_modify: No such object (32)
matched DN: cn=config
То же самое происходит, если я пытаюсь использовать пользователя с правами администратора.
Как мне решить эту проблему, чтобы завершить настройку репликации?
Я не думаю, что проблема в том, что вы добавили uid = rpuser, dc = redhibited, dc = co
. Вместо этого ваше изменение olcDatabase = {1} hdb, cn = config
не работает. У вашего ведомого устройства (в наши дни он является потребителем) нет olcDatabase = {1} hdb, cn = config
, но вместо этого есть olcDatabase = {1} mdb, cn = config
.
Примечания:
1. Получите себе TLS. Вы отправляете свои пароли (а также остальную часть вашего каталога) в открытом виде по сети.
2. slapo-memberOf
и репликация взаимодействуют интересными способами .