Configuracion de OpenLDAP Maestro-Esclavo
Para montar un servidor de replicas, la idea es que se tienen dos servidores con LDAP corriendo y sus bases de datos son identicas. Entonces hay un maestro que envia los cambios a un esclavo. Para esto necesita en el esclavo un usuario que puede hacer literalemente todo.
A. Cree en el maestro el usuario que va a hacer todo y asignele contraseña ejemplo
uid=replicator,ou=Hosts,dc=skina,dc=com,dc=co
B. Copie los datos del Maestro al esclavo
C. Configure LDAP en el maestro
Se agrega la linea de cada maquina replicador con la direccion, el usuario al otro lado con permisos y su contraseña.
replogfile /var/log/ldap/openldap-master-replog
replica uri=ldaps://esclavo.skina.com.co:636
binddn=“uid=replicator,dc=skina,dc=com,dc=co”
bindmethod=simple credentials=passwd
Si tiene el TLS habilitado agregue
tls=yes
D. Configure LDAP en el esclavo
Permita que el replicador escriba en todo … ejemplo (centos)
access to dn.base=“” by 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html read
access to dn.base=“cn=Subschema” by 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html read
access to 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html
by 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html read
by self write
by anonymous auth
by dn=“uid=replicator,dc=skina,dc=com,dc=co” write
Y configure el actualizador
# Replica configuration (if this server is a slave)
updatedn “uid=replicator,dc=skina,dc=com,dc=co”
updateref “ldaps://maestro.skina.com.co”
E. Pruebas
Reinicie servidores y pruebe cambiando algo en el maestro para ver como va en el esclavo.
http://www.openldap.org/doc/admin23/syncrepl.html –
Maestro
# define as provider using the syncprov overlay
# (last directives in database section)
overlay syncprov
# contextCSN saved to database every 100 updates or ten minutes
syncprov-checkpoint 100 10
Esclavo
# provider is ldap://master-ldap.example.com:389,
# whole DIT (searchbase), all user attributes synchronized
# simple security with a cleartext password
# NOTE: comments inside the syncrepl directive are rejected by OpenLDAP
# and are included only to carry further explanation. They MUST NOT
# appear in an operational file
syncrepl rid=000
provider=ldap://192.168.8.47
type=refreshAndPersist
retry=“5 5 300 +“
searchbase=“dc=skina,dc=com,dc=co”
attrs=”*,+“
bindmethod=simple
binddn=“cn=Manager,dc=skina,dc=com,dc=co”
credentials=passwdroot
Hasta aqui no funciona el updateref .. o sea el esclavo no acepta actualizaciones ni las redirecciona.
Es bien interesante porque a partir de esta version el esquema puede ser diverso, puede tener multi-master .. y demas.
El documento papa para aprender http://www.openldap.org/doc/admin24/replication.html#MirrorMode –
Multimaster .. por aqui http://itsecureadmin.com/wiki/index.php/OpenLDAP_Multi-Master_Replication –
OJO .. el toca ponerle el: overlay syncprov
- https://bidhankhatri.com.np/system/openldap-mirrormode-replication-&-mdb-backend-in-centos-7/
- https://ubuntu.com/server/docs/service-ldap-replication … super .. PERO solo agrega .. no replica borrados
——————-
$ vim mod_syncprov.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: syncprov.la
$ ldapadd -Y EXTERNAL -H ldapi:/// -f mod_syncprov.ldif
$ slapcat -n 0 | grep olcModuleLoad
$ vim syncprov_overlay.ldif
dn: olcOverlay=syncprov,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
$ ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_overlay.ldif
$ vim oclserverid.ldif
# create new
dn: cn=config
changetype: modify
replace: olcServerID
# specify uniq ID number on each server
olcServerID: 1
$ ldapadd -Y EXTERNAL -H ldapi:/// -f oclserverid.ldif
$ vim replication_config.ldif
dn: olcDatabase={1}mdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=002
provider=ldap://atento-dir1.teleatento.com/
bindmethod=simple
binddn=“cn=admin,dc=teleatento,dc=com”
credentials=“gahnaer8Iv3h”
searchbase=“dc=teleatento,dc=com”
scope=sub
schemachecking=on
type=refreshAndPersist
retry=“30 5 300 3”
interval=00:00:05:00
starttls=critical
tls_reqcert=never
-
add: olcMirrorMode
olcMirrorMode: TRUE
$ ldapadd -Y EXTERNAL -H ldapi:/// -f replication_config.ldif
$ ldapsearch -Y EXTERNAL -H ldapi:/// -b “olcDatabase={1}mdb,cn=config” '(objectClass=*)' -LL
——————
Me toco agregar la ultima linea para que No joda por los certificados
olcSyncRepl: rid=002
provider=ldap://192.168.8.68/
bindmethod=simple
binddn=“cn=admin,dc=teleatento,dc=com”
credentials=“gahnaer8Iv3h”
searchbase=“dc=teleatento,dc=com”
scope=sub
schemachecking=on
type=refreshAndPersist
retry=“30 5 300 3”
interval=00:00:05:00
starttls=critical
tls_reqcert=never
FIN
==============================================================
ANEXO 1 Switch de maestro a esclavo
=============================================================
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.