[Date Prev][Date Next] [Chronological] [Thread] [Top]

Using Replication Slave For Authentication



I have inherited an openldap server (2.4.9) and have set about to making it a bit more fault tolerant.  So I have added a syncrepl slave and everything seems to work fine.  It pulls down the whole ldap tree and stays in sync in real time with type=refreshAndPersist.  I can use command line tools to very that it has all the information from the original master server using a command like this:

ldapsearch -xLL -H ldaps://ldap2.domain.com/ -b "dc=domain,dc=com" -D "cn=admin,dc=domain,dc=com" -W

My problem however is that when I try to authenticate users against the slave server, it does not work.  All attempts fail.  Also when I use ApacheDS (graphical LDAP browser) to view its contents, it only shows the Root DSE and none of the child objects like cn=config or any of the users or any of that.  I can use ApacheDS fine to view and modify everything on the master server though.

The slapd.conf config files between the two are exactly the same (except one is declared as sync master and one as slave), the password hashes are successfully replicated to the slave as I can see with ldapsearch, but I have no idea how to debug why it won't authenticate users.  For reference, here is my syncrepl config section (in slapd.conf) on the slave:

syncrepl rid=123
         provider=ldaps://ldap1.domain.com:636
         type=refreshAndPersist
         searchbase="dc=domain,dc=com"
         filter="(objectClass=*)"
         scope=sub
         schemachecking=off
         bindmethod=simple
         binddn="uid=syncuser,ou=People,dc=domain,dc=com"
         credentials=syncpassword

and on the master server:

moduleload  syncprov.la
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

As a failover/backup server seems extremely prudent especially on the ancient hardware we have running these things, I really want to get this to work properly.  Perhaps even later doing a round-robin style load balancing between the two or what have you.

I have no idea how to debug this, any help would be greatly appreciated!

-a