LINUX.ORG.RU

Ответ на: комментарий от Ivan_qrt

Я тоже об этом думал. А где задаётся учётка https://linuxlasse.net/linux/howtos/OpenLDAP_N-Way_MultiMaster_Replication ? На всякий вот мой конфиг

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcSyncRepl
olcSyncRepl: rid=001
  provider=ldap://ldap1.w1.ru
  searchbase="dc=w1,dc=ru"
  bindmethod=simple
  credentials=5fX?BLR2
  binddn="cn=admin,cn=config"
  type=refreshAndPersist
  retry="30 +"
  timeout=1
olcSyncRepl: rid=002
  provider=ldap://ldap2.w1.ru
  searchbase="dc=w1,dc=ru"
  bindmethod=simple
  credentials=5fX?BLR2
  binddn="cn=admin,cn=config"
  type=refreshAndPersist
  retry="30 +"
  timeout=1

-
replace: olcMirrorMode
olcMirrorMode: TRUE
beren
() автор топика
Ответ на: комментарий от beren

В описании базы dc=w1,dc=ru. Либо подклячайся под админом для этой базы, либо задавай права для используемого binddn.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от beren

binddn должен совпадать с админом базы. Пароли у разных пользователей могут быть одинаковыми, но это не значит, что это те же пользователи.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Вот мой конфиг

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=w1,dc=ru
-
replace: olcRootDN
olcRootDN: cn=admin,dc=w1,dc=ru
-
replace: olcRootPW
olcRootPW: 5fX?BLR2
-
replace: olcSyncRepl
olcSyncRepl: rid=001
  provider=ldaps://ldap1.w1.ru
  searchbase="dc=w1,dc=ru"
  bindmethod=simple
  binddn="cn=admin,cn=config"
  tls_reqcert=allow
  type=refreshAndPersist
  retry="30 +"
  timeout=1
olcSyncRepl: rid=002
  provider=ldaps://infra2.w1.ru
  searchbase="dc=w1,dc=ru"
  bindmethod=simple
  binddn="cn=admin,cn=config"
  tls_reqcert=allow
  type=refreshAndPersist
  retry="30 +"
  timeout=1

-
replace: olcMirrorMode
olcMirrorMode: TRUE

Применил, репликация сломалась (

Вот что про базу нашёл

dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=w1,dc=ru
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * non
 e
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to * by * read
olcLastMod: TRUE
olcRootDN: cn=admin,dc=w1,dc=ru
olcRootPW:: e1NTSEF9by9XOFMzc0lPQzc0N2lnOWtkdEVsRHI2NU96LzcxVFA=
beren
() автор топика
Ответ на: комментарий от beren

Надо как-то использовать пароль админа, а не add/replace

beren
() автор топика
Ответ на: комментарий от beren

olcRootDN: cn=admin,dc=w1,dc=ru
binddn=«cn=admin,cn=config»

Видишь разницу? Админ базы у тебя один, а репликацию ты делаешь под другим пользователем. То, что ты им сделал одинаковые пароли, не значит, что это один и тот же пользователь (dn в терминологии прав ldap).

Применил, репликация сломалась (

Ты в syncrepl credentials не добавил?

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Если так

dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
 provider=ldaps://ldap1.w1.ru
 searchbase="dc=w1,dc=ru"
 bindmethod=simple
 binddn="cn=admin,dc=w1,dc=ru"
 credentials=5fX?BLR2
 tls_reqcert=allow
 type=refreshAndPersist
 retry="30+
 timeout=1
olcSyncRepl: rid=002
 provider=ldaps://ldap2.w1.ru
 searchbase="dc=w1,dc=ru"
 bindmethod=simple
 binddn="cn=admin,dc=1,dc=ru"
 credentials=5fX?BLR2
 tls_reqcert=allow
 type=refreshAndPersist
 retry="30+"
 timeout=1
-
replace: olcMirrorMode
olcMirrorMode: TRUE

То ошибка:

<olcMirrorMode> database is not a shadow

Это фаталити ? )

beren
() автор топика
Ответ на: комментарий от beren

binddn=«cn=admin,dc=1,dc=ru»

w пропустил.

Правильно я понял, что когда ты в syncrepl указываешь binddn=«cn=admin,cn=config» у тебя всё работает, а когда ты заменяешь на binddn=«cn=admin,dc=w1,dc=ru», то он отказывается включать mirrormode?

Кроме binddn ты ничего больше не менял?

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Я всё удалил. И заново настроил. Теперь если binddn=«cn=admin,cn=config, тоже отказывается включать mirrormode

beren
() автор топика
Ответ на: комментарий от beren

Если перед этим сделать

dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov

А потом тот конфиг, то ошибка останется. Моя не понимать (

beren
() автор топика
Ответ на: комментарий от beren

Ну ты пройдись полностью по инструкции и убедись, что ты всё сделал, как там написано.

М.б. ты olcserverid не прописал, или самим сервакам id не присвоил. Или ещё что. Как показывает твой же опыт, инструкция рабочая.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Спасибо репликация заработала. Это инструкция рабочая

beren
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.