2.9.19.5 Настройка репликации OpenLDAP
Входные данные
Предварительная подготовка
Настройка доменных имен
Настройка основного сервера
Настройка сервера репликации
Настройка клиента
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция, Сервер графический, Сервер минимальный
- Редакция ОС: Стандартная
- Архитектура: x86_64
- Версия ПО: openldap-servers-2.4.55-10, openldap-clients-2.4.55-10
Репликация — это процесс автоматического копирования и синхронизации данных между несколькими серверами OpenLDAP.
Настройте репликацию OpenLDAP для обеспечения непрерывности работы службы каталогов в случае отключения основного сервера. В терминологии OpenLDAP основной сервер называется Provider, а сервер репликации — Consumer.
Входные данные
В рамках текущей инструкции будут использованы следующие данные:
- для основного сервера:
- IP-адрес — 192.168.101.164;
- имя хоста — ldap.example.com.
- для сервера репликации:
- IP-адрес — 192.168.101.125;
- имя хоста — replica.example.com.
- для клиента:
- IP-адрес — 192.168.101.165;
- имя хоста — client.example.com.
Предварительная подготовка
Параметры OpenLDAP для основного сервера и сервера репликации должны быть настроены идентично согласно инструкции «Установка и настройка OpenLDAP-сервера».
Настройка доменных имен
Установите имя хоста для сервера репликации (например, replica.example.com):
sudo hostnamectl set-hostname replica.example.com
На всех узлах сети (основной сервер, сервер репликации и клиент) необходимо добавить соответствующие записи в файл /etc/hosts:
sudo sh -c "echo '192.168.101.164 ldap.example.com ldap' >> /etc/hosts" sudo sh -c "echo '192.168.101.125 replica.example.com replica' >> /etc/hosts" sudo sh -c "echo '192.168.101.165 client.example.com client' >> /etc/hosts"
Настройка основного сервера
1. На основном сервере создайте файл конфигурации модуля syncprov:
sudo nano /etc/openldap/mod_syncprov.ldif
Добавьте содержимое:
dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulePath: /usr/lib64/openldap olcModuleLoad: syncprov.la
2. Примените конфигурацию модуля:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/mod_syncprov.ldif
3. Создайте файл конфигурации overlay:
sudo nano /etc/openldap/syncprov.ldif
Добавьте содержимое:
dn: olcOverlay=syncprov,olcDatabase={2}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
4. Примените конфигурацию overlay:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/syncprov.ldif
Настройка сервера репликации
На резервном сервере выполните следующие действия:
1. Создайте файл конфигурации репликации:
sudo nano /etc/openldap/replica.ldif
Пример содержимого файла:
dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
provider=ldap://ldap.example.com:389/
bindmethod=simple
binddn="cn=admin,dc=example,dc=com"
credentials=<пароль_администратора_сервера>
searchbase="dc=example,dc=com"
scope=sub
schemachecking=on
type=refreshAndPersist
retry="120 10 300 3 3600 +"
interval=00:00:05:00
-
add: olcUpdateRef
olcUpdateRef: ldap://ldap.example.com:389
где:
rid=001— уникальный ID реплики (001-999);provider=ldap://ldap.example.com:389/— адрес основного сервера;bindmethod=simple— метод аутентификации;binddn="cn=admin,dc=example,dc=com"— DN для подключения к основному серверу;credentials— пароль для подключения;searchbase— корневой DN для репликации;type=refreshAndPersist— тип репликации;retry— параметры повторных попыток;interval— интервал репликации;olcUpdateRef— указывает клиентам на основной сервер для операций записи.
2. Примените конфигурацию репликации:
sudo ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/replica.ldif
3. Убедитесь, что данные реплицируются:
ldapsearch -x -b 'ou=People,dc=example,dc=com'
Настройка клиента
На клиенте выполните следующие действия:
1. Отредактируйте файл конфигурации OpenLDAP-клиента:
sudo nano /etc/openldap/ldap.conf
Укажите основной сервер и резервный в порядке приоритета:
URI ldap://ldap.example.com/ ldap://replica.example.com/
2. Отредактируйте конфигурацию sssd:
sudo nano /etc/sssd/sssd.conf
Добавьте основной сервер и резервный:
ldap_uri = ldap://ldap.example.com/,ldap://replica.example.com/
3. Перезапустите службу sssd:
sudo systemctl restart sssd
Дата последнего изменения: 31.08.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.