==== Replicações Master-Slave ==== O OpenLDAP suporta replicações master-slave também, em que o master receberá as requisições de leitura e gravação e o slave receberá somente requisições de leitura, não sendo possível gravar dados nesta base. ==== Configurando Servidor Master ==== A configuração do servidor master se faz da maneira que fizemos aqui [[deb-syncrepl|Replicação LDAP utilizando SyncRepl]] ==== Configurando Servidor Slave ==== # apt-get install slapd ldap-utils Antes de continuar teremos que definir uma senha para o superusuário da base cn=config: # slappasswd -h {SSHA} New password: Re-enter new password: {SSHA}kA9brSEK/lQr53YaiWB1TNgrTLCf3/JO # cat admin.ldif dn: cn=config changetype: modify dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}kA9brSEK/lQr53YaiWB1TNgrTLCf3/JO dn: olcDatabase={0}config,cn=config changetype: modify delete: olcAccess # ldapadd -H ldapi:/// -Y EXTERNAL -f admin.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn=config" modifying entry "olcDatabase={0}config,cn=config" modifying entry "olcDatabase={0}config,cn=config" Agora vamos copiar o certificado do master # mkdir /etc/ldap/tls # scp 192.0.2.110:/etc/ldap/tls/cacert.pem /etc/ldap/tls/ Arquivo de replicação: # cat repica-slave.ldif dn: olcdatabase={1}hdb,cn=config changetype: modify replace: olcsyncRepl olcsyncrepl: rid=003 provider=ldap://ldapmaster01.laboratorio.com.br type=refreshAndPersist interval=00:00:00:10 searchbase=dc=laboratorio,dc=com,dc=br filter="(objectClass=*)" scope=sub attrs="*" schemachecking=off bindmethod=simple starttls=yes tls_cacert=/etc/ldap/tls/cacert.pem binddn=cn=Replicator,dc=laboratorio,dc=com,dc=br credentials=senha retry="10 +" # ldapmodify -x -D cn=admin,cn=config -w senha -f repica-slave.ldif modifying entry "olcdatabase={1}hdb,cn=config" Configuração do cliente # cat /etc/ldap/ldap.conf # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 BASE dc=laboratorio,dc=com,dc=br URI ldap://ldapmaster01.laboratorio.com.br #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) #TLS_CACERT /etc/ssl/certs/ca-certificates.crt TLS_CACERT /etc/ldap/tls/cacert.pem TLS_REQCERT allow ==== Testando a Replicação ==== Para testar a Replicação no servidor LDAP Filial, pare o servidor e remova a base. # service slapd stop # rm -rf /var/lib/ldap/* Reinicie o LDAP do servidor ldapmaster01 e veja que nossa base no slave já está populada. # service slapd start # ldapsearch -ZZ -LLL -D cn=admin,cn=config -w senha -b dc=laboratorio,dc=com,dc=br