[[ Репликация каталога OpenLDAP (slurp) ]]

Репликация каталога OpenLDAP (slurp)

Пример настройки репликации между двумя серверами openldap.

В схеме один сервер будет выступать как мастер, а второй как подчинённый.

Настройка мастера

Для начала необходимо остановить службу каталога:

/etc/init.d/slapd stop

В конфигурационном файле необходимо описать реплику:

/etc/openldap/slapd.conf

replogfile /var/lib/openldap-slurp/replog

replica  uri=ldap://slaveldap.server.com
  binddn="cn=Manager,dc=server,dc=com"
  bindmethod=simple
  credentials=password

  • replogfile – журнал изменений для репликации
  • uri – адрес slave-сервера
  • binddn – пользователь, который будет использоваться master-сервером, при передачи обновлённых данных на slave-сервер. Он должен иметь соответствующий доступ на slave-сервере.
  • bindmethod – метод аутентификации. simple - всё передается в чистом виде, очень ненадежно с точки зрения информационной безопасности, но для тестовых целей или изолированной сети вполне подходит.
  • credentials – пароль пользователя binddn

Настройка подчинённого

На slave-сервере в конфигурацию добавим:

/etc/openldap/slapd.conf

updatedn        "cn=Manager,dc=server,dc=com"
updateref       "ldap://server.com"

  • updatedn - пользователь, которому разрешено проводить репликацию
  • updateref - ссылка на сервер, которая передается клиенту, если клиент пытается внести изменения на slave-сервере

Запуск репликации

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

Для этого на мастере можно сделать архив:

slapcat > ldap.ldif

Перенести файл на подчинённый и восстановить его:

slapadd < ldap.ldif

Исправление прав доступа:

chown ldap:ldap -R /var/lib/openldap-data/

Теперь запускаем службу каталога на обоих серверах:

/etc/init.d/slapd start

А на мастере еще и службу репликации:

/etc/init.d/slurpd start

При изменение данных на мастере статус репликации будет записываться в файл:

tail -f /var/lib/openldap-slurp/replica/slurpd.status

В случае если изменения происходят на мастер-сервере, они почти моментально будут переданы на подчинённый-сервер. Если же изменения клиент пытается внести непосредственно на подчинённый-сервер, ему будет возвращён адрес мастер-сервера:

ldap_modify: Referral (10)
        referrals:
                ldap://server.com/cn=Manager,dc=server,dc=com

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
125 +2 = 
 
howto/openldap/репликация.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki