Esta vez vamos a ver como hacer un servidor de respaldo para LDAP, por lo general es conveniente cuando ya tenemos un dominio con mas de 50 usuarios.
Cuand hablo de dominio me estoy refiriendo a Samba+LDAP, yo deseo que si mi servidor PDC cae por alguna razon, mis usuarios no se vean afectados, otra es que solo deseo tener un solo dominio para mi empresa, poder tener el PDC en Tijuana y el BDC en San Diego, atravez de un enlace privado o P2P o VPN.
En este ejemplo, los usuarios de Tijuana haran uso del PDC maestro y los de San Diego haran uso del BDC que esta en San Diego, no tendrian ellos que comunicarse para Tijuana a buscar info del dominio. La unica situacion sera cuando ldap de Tijuana requiera actualizar informacion en su servidor ldap de respaldo de San Diego.
Bien, ya no voy a tocar el tema de como configurar un dominio con Samba+LDAP ya que en mi blog viene como, nomas ahi que buscarle.
Lo que voy hacer es lo siguiente:
1; Debemos sacar una copia del ldap maestro y pasarsela a el esclavo, todo esto se tiene que hacer con el maestro apagado y el esclavo apagado, y cuando hagan la copia no hagan ya ningun movimiento con el maestro, de lo contrario la copia no sera exacta, por ello yo lo apago.
2; Habilitar en el ldap maestro las opciones para hacer operar la replica, que es llevada a cabo por un servicio llamado slurp, cuando arranquen el ldap maestro veran que aparece un servicio con ese nombre.
3; Enviar la copia a el esclavo.
4; Configurar el esclavo tal cual esta el maestro, y agregar las opciones de esclavo.
5; cargar la BD del maestro a el esclavo.
6; Arrancar el esclavo, enseguida el maestro.
7; Probar.
Paso 1.
slapadd -l klb.ldif
Paso 2.
slapadd -l klb.ldif
Abrimos el archivo de configuracion slapd.conf del maestro y agregamos esto a el final:
replogfile /var/lib/ldap/replog
replica host=slave1.klabacita.local:389
binddn="cn=Manager,dc=klabacita,dc=local"
credentials=Manager-password
bindmethod=simple
NOTA: Cuando den de alta estos parametros, recordar que despues de "replica host" los siguientes deben de tener un tab de separacion, de lo contrario ldap marcara errores cuando lo ejecuten.
Aqui mi dominio se llama KLABACITA.LOCAL.
replica host=servidor esclavo que recibe los updates.
server-name= pueden poner el IP del servidor, si trabajan con DNS o hosts poner el nombre del servidor, si usan nombre recuerden siempre probar la resolucion de nombre a IP.
credentials= password del root user del ldap.
El archivo de nombre: replog no va a existir, deben crearlo en la ruta elegida y debe tener como usuario y grupo a ldap.
Si desean tener multiples esclavos deben agregar los mismo parametros pero apuntando a cada uno de sus esclavos.
replogfile /var/lib/ldap/replog
replica host=slave1.klabacita.local:389
binddn="cn=Manager,dc=klabacita,dc=local"
credentials=Manager-password
bindmethod=simple
NOTA: Cuando den de alta estos parametros, recordar que despues de "replica host" los siguientes deben de tener un tab de separacion, de lo contrario ldap marcara errores cuando lo ejecuten.
Aqui mi dominio se llama KLABACITA.LOCAL.
replica host=servidor esclavo que recibe los updates.
server-name= pueden poner el IP del servidor, si trabajan con DNS o hosts poner el nombre del servidor, si usan nombre recuerden siempre probar la resolucion de nombre a IP.
credentials= password del root user del ldap.
El archivo de nombre: replog no va a existir, deben crearlo en la ruta elegida y debe tener como usuario y grupo a ldap.
Si desean tener multiples esclavos deben agregar los mismo parametros pero apuntando a cada uno de sus esclavos.
Paso 3.
Para poder enviar la copia, hago uso de scp:
scp klb.ldif root@ip-del-esclavo:/opt/
Ya deben saber como usar scp, correcto!!!
updatedn "cn=Manager,dc=klabacita,dc=local"
updateref ldap://master-ldap-server:389/
master-ldap-server= IP/Nombre del servidor maestro de LDAP.
scp klb.ldif root@ip-del-esclavo:/opt/
Ya deben saber como usar scp, correcto!!!
Paso 4.
Aparte de tener el slapd.conf del esclavo igual que el maestro, hablando tambien de la misma version de samba y los schemas tambien deben existir en el esclavo, agregamos las siguientes opciones a el esclavo a el final del archivo:
Aparte de tener el slapd.conf del esclavo igual que el maestro, hablando tambien de la misma version de samba y los schemas tambien deben existir en el esclavo, agregamos las siguientes opciones a el esclavo a el final del archivo:
updatedn "cn=Manager,dc=klabacita,dc=local"
updateref ldap://master-ldap-server:389/
master-ldap-server= IP/Nombre del servidor maestro de LDAP.
Paso 5.
El ldap esclavo debe estar apagado y ejecutar:
slapadd -l /opt/klb.ldif
Paso 6.
En el esclavo:
service ldap start
service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
En el maestro:
service ldap start
service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
Starting slurpd: [ OK ]
Ya aparecio el slurp.
service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
En el maestro:
service ldap start
service ldap start
Checking configuration files for slapd: config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
Starting slurpd: [ OK ]
Ya aparecio el slurp.
Paso 7.
Para probar debemos configurar a centos para que use a LDAP como su provedor de usuarios y grupos. Para ello debemos agregar a ambos sistemas ambos servidores por si uno cae tenga otro de donde sacar la info.
Configurar el /etc/ldap.conf y agregar el que falta, empezando por el maestro:
host 127.0.0.1 pdc-srv
Ahora el esclavo:
host 127.0.0.1 pdc-dos
pdc-srv = nombre de mi servidor esclavo.
pdc-dos = nombre de mi servidor maestro.
Ahora sigue /etc/openldap/ldap.conf
Maestro:
URI ldap://127.0.0.1 ldap://pdc-srv
HOST 127.0.0.1 pdc-srv
Esclavo:
URI ldap://127.0.0.1 ldap://pdc-dos
HOST 127.0.0.1 pdc-dos
Ejecutamos el servicio authconfig-tui y volvemos a configurar a ldap, cuando pasen a la pantalla siguiente en ambos sistemas deberan ver como se agrego el segundo servidor.
Listo, lo que sigue es probar esto, apaguen el maestro, supongamos que tenemos un usuario de nombre: test.
Con el servidor maestro apagado, ejecutamos el comando:
id test en ambos sistemas y nos debe dar la misma informacion:
Maestro:
id test
uid=1003(test) gid=513(Domain Users) groups=513(Domain Users)
Esclavo:
id test
uid=1003(test) gid=513(Domain Users) groups=513(Domain Users)
Arranquen el maestro y apaguen el esclavo, debe ocurrir lo mismo.
Agreguen un usuario, hagan lo mismo y deben recibir respuesta aunque cualquiera de ambos este apagado, monitorien el archivo de las replica en el maestro.
Si quieren aun mas ver si se estan llevando las replicas, en el esclavo ejecutamos el tcpdump para el puerto 389 y deben ver la comunicacion cuando el maestro manda los cambios.
Esclavo:
tcpdump -i eth0 port 389
Maestro:
agreguen un usuario, como estamos hablando de samba+ldap, entonces vamos hacer uso de smbldap-tools comando smbldap-useradd.
smbldap-useradd -a -m test2
Tan pronto ejecuten esto, en la pantalla del esclavo van a ver comunicacion, y prueban de nuevo con el comando id, debe su esclavo ya tener info del usuario:
id test2
Es todo, saludos!!!
Configurar el /etc/ldap.conf y agregar el que falta, empezando por el maestro:
host 127.0.0.1 pdc-srv
Ahora el esclavo:
host 127.0.0.1 pdc-dos
pdc-srv = nombre de mi servidor esclavo.
pdc-dos = nombre de mi servidor maestro.
Ahora sigue /etc/openldap/ldap.conf
Maestro:
URI ldap://127.0.0.1 ldap://pdc-srv
HOST 127.0.0.1 pdc-srv
Esclavo:
URI ldap://127.0.0.1 ldap://pdc-dos
HOST 127.0.0.1 pdc-dos
Ejecutamos el servicio authconfig-tui y volvemos a configurar a ldap, cuando pasen a la pantalla siguiente en ambos sistemas deberan ver como se agrego el segundo servidor.
Listo, lo que sigue es probar esto, apaguen el maestro, supongamos que tenemos un usuario de nombre: test.
Con el servidor maestro apagado, ejecutamos el comando:
id test en ambos sistemas y nos debe dar la misma informacion:
Maestro:
id test
uid=1003(test) gid=513(Domain Users) groups=513(Domain Users)
Esclavo:
id test
uid=1003(test) gid=513(Domain Users) groups=513(Domain Users)
Arranquen el maestro y apaguen el esclavo, debe ocurrir lo mismo.
Agreguen un usuario, hagan lo mismo y deben recibir respuesta aunque cualquiera de ambos este apagado, monitorien el archivo de las replica en el maestro.
Si quieren aun mas ver si se estan llevando las replicas, en el esclavo ejecutamos el tcpdump para el puerto 389 y deben ver la comunicacion cuando el maestro manda los cambios.
Esclavo:
tcpdump -i eth0 port 389
Maestro:
agreguen un usuario, como estamos hablando de samba+ldap, entonces vamos hacer uso de smbldap-tools comando smbldap-useradd.
smbldap-useradd -a -m test2
Tan pronto ejecuten esto, en la pantalla del esclavo van a ver comunicacion, y prueban de nuevo con el comando id, debe su esclavo ya tener info del usuario:
id test2
Es todo, saludos!!!
4 comentarios:
Saludos estoy viendo tu post y me parece bien interesante. Pero tengo una duda con cual de tus post anteriores debo cinfugurar este ya que tienes varios en el que hablas de samba con LDAP:
-Centos 5 Samba PDC con LDAP.
-Centos 5x: Samba + PDC con LDAP como backend.
-Centos 5x: Samba 3.3.x+LDAP Windows 7.
Por favor recomiendame el mas optimo que funcione con replica, tengo maquinas en linux, XP y Seven.
Hola Tony, usa el que dice windows 7, hay varios por que conforme pasa el tiempo van llegando cosas en la cabeza, una vez hecho esto te vas a lo de replica, dudas me avisas, saludos!!!
OK gracias estoy trabajando en eso. Tengo instalado Centos 6.2, funcionara con esta version??
No creo haya problemas, aun no he trabajado con la version 6 de centos, pero no debe haber problema alguno, saludos!!!
Publicar un comentario