Как настроить репликацию Master-Slave LDAP

Как настроить Master-Slave LDAP-сервер в Ubuntu с репликацией сеанса.

Например, если if и ldap клиент меняет свой пароль на главном сервере. Я хочу, чтобы новый пароль был автоматически синхронизирован с подчиненным сервером

4
задан 7 November 2013 в 13:53

2 ответа

Отличная статья, очень помогла мне переслать, в ldif есть несколько ошибок, за которыми нужно следить: enable_sync_prov.ldif

by dn = "cn = admin, dc = acme , dc = ncom write

должно быть

с помощью dn = "cn = admin, dc = acme, dc = com" write

Тогда ldapadd / ldapmodify должен выполняться на cn = admin, cn = config части дерева, а не на cn = admin, dc = acme, dc = com.

0
ответ дан 7 November 2013 в 13:53

Ведущий раб в ldap называется поставщиком и потребителем. Вы не указываете, какой сервер ldap вы используете, поэтому я предполагаю, что мы говорим об openLDAP.

В старых конфигурациях openLDAP сохранялись в файлах conf. В настоящее время все настройки хранятся на самом сервере ldap. Таким образом, вам нужно создать конфигурацию и внедрить ее на сервер ldap, поэтому мы начнем с создания этих файлов. Эта инструкция автоматически скопирует все записи на ваш подчиненный сервер.

Допустим, ваша компания называется acme, а домен com. и что ваш текущий администратор сервера ldap находится в: cn = admin, dc = acme, dc = com

Сначала нам нужно создать пользователя ldap, которому разрешено читать все записи ldap реплицировать его на потребительский сервер.

создать файл «create_repl_user.ldif»

dn: cn=ldaps2,dc=acme,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: ldaps2
description: LDAP server2 replicator

Второй нам нужно включить службу провайдера на главном сервере ldap и предоставить пользователю ldaps2 доступ на чтение ко всему серверу ldap .

создать файл «enable_sync_prov.ldif»

dn: olcDatabase={1}hdb,cn=config
changetype: modify
delete: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
  by self write
  by anonymous auth
  by dn="cn=admin,dc=acme,dc=com write
  by * none
-
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
  by self write
  by dn="cn=admin,dc=acme,dc=com" write
  by dn="cn=ldaps2,dc=acme,dc=com" read
  by anonymous auth
  by * none
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: entryCSN eq

dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: {1}syncprov

dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: {0}syncprov
olcSpCheckpoint: 100 10
olcSpSessionlog: 100

Третий : нам нужно разрешить репликацию с указанного сервера нашему потребителю ldap. создайте файл enable_sync_consumer.ldif, заменив строку provider = "ldap: //yourldapservername.com: 389 /" на ip вашего главного сервера ldap. и credentials = yourencryptedldap2spassword с паролем, который вы выбрали для своего пользователя ldap2s.

dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats

dn: olcDatabase={1}hdb,cn=config
changetype: modify
delete: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
  by self write
  by anonymous auth
  by dn="cn=admin,dc=acme,dc=com" write
  by * none
-
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange
  by anonymous auth
  by * none
-
delete: olcAccess
olcAccess: {2}to *
  by self write
  by dn="cn=admin,dc=acme,dc=com" write
  by * read
-
add: olcAccess
olcAccess: {2}to *
  by * read
-
replace: olcRootDN
olcRootDN: cn=manager
-
delete: olcRootPW
-
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcDbIndex
olcDbIndex: uid eq
-
add: olcDbIndex
olcDbIndex: cn eq
-
add: olcDbIndex
olcDbIndex: ou eq
-
add: olcDbIndex
olcDbIndex: dc eq


add: olcSyncrepl
olcSyncrepl: rid=123
  provider="ldap://yourldapservername.com:389/"
  type=refreshAndPersist
  retry="60 30 300 +"
  searchbase="dc=acme,dc=com"
  bindmethod=simple
  binddn="cn=ldaps2,dc=acme,dc=com"
  credentials=yourencryptedldap2spassword

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

на сервере поставщика создать пользователя репликации:

run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f  create_repl_user.ldif

. Включите службу провайдера:

run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f  enable_sync_prov.ldif

на сервере потребителя добавьте настройки синхронизации потребителя:

run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_consumer.ldif
0
ответ дан 7 November 2013 в 13:53

Другие вопросы по тегам:

Похожие вопросы: