[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problema con replicación OpenLDAP (no funciona "updateref")



Hola, he montado 2 servidores OpenLDAP y configurado uno como maestro y otro 
como esclavo.

La sincronización funciona perfectamente cuando hago algún cambio en el 
maestro, de tal forma que se propagan los cambios al esclavo y se actualiza.

Pero trato también de poner el "updateref" en el esclavo para que cuando un 
cliente intente hacer algún cambio en el esclavo se le redirija al maestro, y 
no hay forma, he leído bastante sobre ello y repasado unas 20 veces.


Maestro slapd.conf:
---------------------------------------------------------------------
replogfile	/var/lib/ldap/replog

  replica           host=192.168.1.1:389
                        binddn="cn=admin,dc=dominio,dc=net"
                        credentials=secret
                        bindmethod=simple
---------------------------------------------------------------------


Esclavo slapd.conf:
----------------------------------------------------------------------
  updatedn      "cn=admin,dc=dominio,dc=net"
  updateref      ldap://192.168.1.100:389
----------------------------------------------------------------------

(Todo lo demás es idéntico en ambos y lo he comprobado repetidas veces).



Tengo instalado PhpLdapAdmin en el servidor esclavo, y también tengo 
configurado una rama del esclavo como agenda de contactos en Kaddressbook con 
permiso de escritura.

Pruebo a añadir un contacto en el esclavo desde consola:

----------------------------------------------------------------------
#> ldapadd -H ldap://127.0.0.1 -D "cn=admin,dc=dominio,dc=net" -w secret -x -f 
file.ldif

adding new entry "uid=blablabla,ou=addressbook,dc=dominio,dc=net"
ldap_add: Internal (implementation specific) error (80)
        additional info: no structuralObjectClass operational attribute
----------------------------------------------------------------------

Exactamente lo mismo me ocurre si trato de añadir un usuario desde 
PhpLdapAdmin (en el esclavo) o desde Kaddressbook.

Nota: Este error no aparece si quito la línea "updateref"  en el esclavo.
Nota 2: Lo más curioso es que NO puedo añadir nuevas entradas en el esclavo 
(me sale el error de antes) pero SI puedo modificarlas o eliminarlas. ¿?¿?¿


Veo dos problemas:

1º) No se está haciendo el "updateref ldap://192.168.1.100:389"; (en los logs 
del maestro no veo siquiera intento de conexión). ¿Por qué puede ser? No hay 
problemas de firewall ni nada así.

2º) ¿Qué puede influir que exista o no la línea "updateref" en el esclavo para 
que me dé error o no al añadir una entrada directamente en el esclavo? o 
mejor dicho, entiendo que al existir "updateref" tal vez no debería si quiera 
dejarse editar y debería responder al cliente indicando que haga los cambios 
en el maestro.


En fin, le he dado un montón de vueltas y ya no sé por dónde más mirar. ¿A 
alguien se le ocurre algo?

Muchas gracias y un saludo a todos.

-- 
Iñaki

Por el bien de todos respetemos las normas de la lista:
http://wiki.debian.org/NormasLista



Reply to: