Mestre escravo no ldap atende pelo nome de provedor e consumidor. Você não especifica o servidor ldap que está usando, então presumo que estamos falando de openLDAP.
Em configurações mais antigas do openLDAP foi salvo em arquivos conf. Hoje em dia todas as configurações são armazenadas no próprio servidor ldap. Então você precisa criar a configuração e injetá-la no servidor ldap, então vamos começar criando esses arquivos. Esta instrução irá replicar todas as entradas para o seu servidor escravo automaticamente.
Digamos que o nome da sua empresa seja acme e o domínio seja com. e que o seu administrador do servidor ldap atual está localizado em: cn = admin, dc = acme, dc = com
Primeiro precisamos criar um usuário ldap com permissão para ler todas as entradas do ldap para replicá-lo para o servidor do consumidor.
crie o arquivo "create_repl_user.ldif"
dn: cn=ldaps2,dc=acme,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: ldaps2
description: LDAP server2 replicator
Segundo precisamos ativar o serviço do provedor no servidor master ldap e dar ao usuário ldaps2 acesso de leitura ao servidor ldap inteiro.
crie o arquivo "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
Terceiro : Precisamos ativar a replicação de um servidor especificado para nosso consumidor de ldap. crie o arquivo enable_sync_consumer.ldif substituindo a linha provider="ldap: //yourldapservername.com: 389 /", com o ip do seu servidor master ldap. e credentials = yourencryptedldap2spassword, com a senha que você escolheu para o seu usuário 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
Agora que criamos os arquivos de configuração, precisamos injetá-los no provedor e no servidor do consumidor
no servidor do provedor crie o usuário de replicação:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f create_repl_user.ldif
ativar o serviço do provedor:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_prov.ldif
no servidor do consumidor, adicione as configurações de sincronização do consumidor:
run ldapadd -x -W -D cn=admin,dc=acme,dc=com -f enable_sync_consumer.ldif