Назад | Перейти на главную страницу

Попытка настроить репликацию LDAP

Я хочу настроить репликацию master-slave между 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

Мой 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=redacted,dc=co. Скорее ваша модификация olcDatabase={1}hdb,cn=config не работает. Ваш раб (в наши дни он потребитель) не имеет olcDatabase={1}hdb,cn=config, но вместо этого olcDatabase={1}mdb,cn=config.


Боковые примечания:
1. Получите себе TLS. Вы отправляете свои пароли (а также остальную часть вашего каталога) в открытом виде по сети.
2. slapo-memberOf и репликация взаимодействуют в интересные способы.