Реализуйте сервер openldap в зеркальном режиме.

Вопрос или проблема

вот моя конфигурация в slapd.conf на server01:

    serverID    1
    # секция базы данных

    # директива syncrepl
    syncrepl      rid=002
        provider=ldap://192.168.100.193
        bindmethod=simple
        binddn="cn=admin,dc=example,dc=local"
        credentials=123
        searchbase="dc=example,dc=local"
        schemachecking=on
        type=refreshAndPersist
        retry="60 +"
        overlay syncprov
        syncprov-checkpoint 50 1
        syncprov-sessionlog 50
    mirrormode on

а вот моя конфигурация в slapd.conf на server02:

 serverID    2
# секция базы данных

# директива syncrepl
syncrepl      rid=002
        provider=ldap://192.168.100.139
        bindmethod=simple
        binddn="cn=admin,dc=example,dc=local"
        credentials=123
        searchbase="dc=example,dc=local"
        schemachecking=on
        type=refreshAndPersist
        retry="60 +"
mirrormode on

затем используйте slaptest команду для генерации файлов конфигурации (slaptest -f config-file -F /etc/ldap/slapd.d/) и замените их на стандартные файлы в пути /etc/ldap/slapd.d на обоих серверах.
затем перезапустите службу slapd, и все будет в порядке.
но когда я добавляю запись на оба сервера, они не синхронизируют данные друг с другом.

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

пс: извините за мой плохой английский

вот ответ, который работает в моем сценарии:

скопируйте /usr/share/slapd/slapd.conf и добавьте эти конфигурации:

первый сервер:

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

moduleload      back_mdb
moduleload      accesslog.la
moduleload      syncprov.la

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

serverID    1

syncrepl      rid=001
        provider=ldap://<второй-сервер>
        bindmethod=simple
        binddn="cn=admin,dc=part,dc=local"
        credentials=123
        searchbase="dc=part,dc=local"
        scope=sub
        schemachecking=on
        type=refreshAndPersist
        retry="60 +"
mirrormode on

второй сервер:
так же, как выше, просто измените serverID.
и вуаля…

Если вам нужна конфигурация для mdb “cn=config”,
Я написал Полное руководство на
https://dany1980.medium.com/openldap-in-mirror-mode-a15efdba9736

Ответ или решение

Реализация OpenLDAP в режиме зеркалирования

OpenLDAP — это мощное решение для управления данными в формате LDAP (Lightweight Directory Access Protocol). В некоторых сценариях требуется обеспечить синхронизацию данных между несколькими серверами, что можно достичь с помощью конфигурации серверов в режиме зеркалирования. В данном руководстве мы подробно рассмотрим, как правильно настроить OpenLDAP для работы в этом режиме.

Шаг 1: Подготовка конфигурации серверов

Чтобы настроить OpenLDAP в режиме зеркалирования, необходимо правильно настроить конфигурацию slapd.conf на обоих серверах (server01 и server02). Основные параметры конфигурации представлены ниже.

Конфигурация для Server01:

serverID    1

# Загрузка необходимых схем
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

# Модули
moduleload      back_mdb
moduleload      accesslog.la
moduleload      syncprov.la

# Директива синхронизации
syncrepl      rid=001
        provider=ldap://192.168.100.193
        bindmethod=simple
        binddn="cn=admin,dc=example,dc=local"
        credentials=123
        searchbase="dc=example,dc=local"
        type=refreshAndPersist
        retry="60 +"
        schemachecking=on
mirrormode on
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

Конфигурация для Server02:

serverID    2

# Загрузка необходимых схем
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

# Модули
moduleload      back_mdb
moduleload      accesslog.la
moduleload      syncprov.la

# Директива синхронизации
syncrepl      rid=001
        provider=ldap://192.168.100.139
        bindmethod=simple
        binddn="cn=admin,dc=example,dc=local"
        credentials=123
        searchbase="dc=example,dc=local"
        type=refreshAndPersist
        retry="60 +"
        schemachecking=on
mirrormode on
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

Шаг 2: Проверка конфигурации

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

slaptest -f /path/to/slapd.conf -F /etc/ldap/slapd.d/

Если команда выдаёт сообщение об отсутствии ошибок, замените существующие файлы конфигурации на новые в каталоге /etc/ldap/slapd.d.

Шаг 3: Перезапуск службы OpenLDAP

После успешной проверки конфигурации перезапустите службу OpenLDAP на обоих серверах:

sudo systemctl restart slapd

Шаг 4: Тестирование синхронизации

Теперь мы можем протестировать синхронизацию данных. Добавьте записи на одном из серверов и проверьте, появляются ли они на другом сервере. Если записи не синхронизируются, вам следует проверить журналы ошибок OpenLDAP (обычно в /var/log/syslog или /var/log/ldap.log) для дальнейшего анализа.

Шаг 5: Устранение проблем

Если вы столкнулись с проблемами при синхронизации:

  1. Проверьте сетевое соединение. Убедитесь, что оба сервера могут видеть друг друга по сети.
  2. Проверьте права доступа. Убедитесь, что binddn и credentials корректны и имеют достаточные права для выполнения операций чтения и записи.
  3. Просмотрите журналы OpenLDAP. Журналы могут дать подсказки о том, где может происходить ошибка.

Заключение

Следуя данному руководству, вы сможете успешно настроить OpenLDAP в режиме зеркалирования. Правильная конфигурация и тестирование являются ключевыми аспектами, которые помогут обеспечить полную функциональность системы управления данными.

Полную инструкцию по настройке и дополнительным параметрам можно найти по следующей ссылке: Полное руководство по OpenLDAP в режиме зеркалирования.

Если у вас возникли вопросы или потребуется дополнительная помощь, не стесняйтесь обращаться в профессиональные сообщества или службу поддержки.

Оцените материал
Добавить комментарий

Капча загружается...