Страница 1 из 1

openldap репликация

Добавлено: 2013-07-25 9:23:48
svetogor82
имеется freebsd 8.2-RELEASE openldap-server-2.3.43 настрайваю репликации ldap между серверами
master

Код: Выделить всё

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/misc.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/openldap.schema
include         /usr/local/etc/openldap/schema/samba.schema
include         /usr/local/etc/openldap/schema/dnszone.schema
include         /usr/local/etc/openldap/schema/mail.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

modulepath      /usr/local/libexec/openldap
moduleload      back_ldbm

database        ldbm
suffix          "dc=company,dc=local"
rootdn          "cn=root,dc=company,dc=local"

rootpw          {SSHA}pass
directory       /var/db/openldap-data

index   objectClass     eq
index   cn              eq

replogfile /var/log/ldap/replica.log

replica host=196.192.0.2
        suffix="dc=company,dc=local"
        binddn="cn=replicator,ou=users,dc=company,dc=local"
        credentials=password
        bindmethod=simple
        tls=no

access to * by * read

access to attrs=userPassword
        by self write
        by anonymous auth
        by * none



access to *
        by self write
        by anonymous read
        by * none


loglevel        0 
sklave

Код: Выделить всё

include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/misc.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/openldap.schema
include         /usr/local/etc/openldap/schema/samba.schema
include         /usr/local/etc/openldap/schema/dnszone.schema
include         /usr/local/etc/openldap/schema/mail.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

modulepath      /usr/local/libexec/openldap
moduleload      back_ldbm

database        ldbm
suffix          "dc=company,dc=local"
rootdn          "cn=root,dc=company,dc=local"
rootpw          {SSHA}pass
directory       /var/db/openldap-data

index   objectClass     eq
index   cn              eq

access to * by * read

access to attrs=userPassword
        by self write
        by anonymous auth
        by * none

access to *
        by self write
        by anonymous read
        by * none


#updatedn "uid=replicator,ou=users,dc=company,dc=local"
#updateref ldap://196.192.1.200:389

updatedn "cn=root,dc=company,dc=local"
updateref ldap://196.192.1.200:389

access to attrs=userPassword
    by self write
    by dn="cn=replicator,ou=users,dc=mycompany,dc=local" write
    by anonymous auth
    by * none


loglevel        0
не идут репликации
если запустить /usr/local/libexec/slurpd -d 255

Код: Выделить всё

ber_scanf fmt (}) ber:
ber_dump: buf=0x802222f40 ptr=0x802222f72 end=0x802222f72 len=0
ldap_msgfree
Error: ldap_modify_s failed modifying DN "uid=012-0056-04$,ou=computers,dc=mycompany,dc=local": entryCSN: no user modification allowed
ldap_err2string
Error: ldap operation failed, data written to "/var/db/openldap-slurp/replica/19 6.192.0.2:389.rej"
если зайки на slave под пользователем replicator и попробовать завести объект в ldap то он ругается на права

Re: openldap репликация

Добавлено: 2013-07-25 9:59:21
snorlov
Попробуйте дать права репликатору как админу...

Re: openldap репликация

Добавлено: 2013-07-25 10:11:32
svetogor82
из под root тоже пробовал

Код: Выделить всё

Config: ** configuration file successfully read and parsed
Retrieved state information for 196.192.0.2:389 (timestamp 1374726157.0)
begin replication thread for 196.192.0.2:389
Replica 196.192.0.2:389, skip repl record for cn=111,dc=mycompany,dc=local (old)

Re: openldap репликация

Добавлено: 2013-07-25 10:38:42
snorlov
Вроде пошла, у вас на слайве хранится очень старая база. Я выбрал бы очень жесткий путь, выгрузил бы базу на мастере в ldif файл, убил бы текущую базу, затем загрузил бы ldif обратно, после чего полученную базу скопировал бы в слайв и перезапустил бы демоны. А вообще завязывайте с openldap 2.3, ставьте 2.4, там и репликация более качественно сделана...

Re: openldap репликация

Добавлено: 2013-07-25 11:12:30
svetogor82
в 2.4 mail схема не подходит и много серверов перенастраивать придется

Re: openldap репликация

Добавлено: 2013-07-25 11:24:13
svetogor82
на sleve базу пересоздал ситуация не изменились

Re: openldap репликация

Добавлено: 2013-07-25 12:07:04
snorlov
На slave у репликатора должны быть права как у rootdn.
На мастере

Код: Выделить всё

 slapsearch -L -x -D <rootdn> > ~/dump.ldif
На слайве

Код: Выделить всё

 ldapadd -f dump.ldif -x -D <rootdn>
После чего перезапускаем демоны...

Re: openldap репликация

Добавлено: 2013-07-25 12:17:26
svetogor82
на slave
ls -al /var/db/openldap-data/

Код: Выделить всё

drwx------   2 ldap  ldap      512 Jul 23 10:28 .
drwxr-xr-x  15 root  wheel     512 Jul 25 10:57 ..
-rw-rw-rw-   1 ldap  ldap     2048 Jul 25 13:14 alock
-rw-rw-rw-   1 ldap  ldap    28672 Jul 25 12:19 cn.dbb
-rw-rw-rw-   1 ldap  ldap   167936 Jul 25 12:19 dn2id.dbb
-rw-rw-rw-   1 ldap  ldap   835584 Jul 25 12:19 id2entry.dbb
-rw-rw-rw-   1 ldap  ldap     8192 Jul 25 12:19 nextid.dbb
-rw-rw-rw-   1 ldap  ldap    57344 Jul 25 12:19 objectClass.dbb
базу перенес еще раз

Re: openldap репликация

Добавлено: 2013-07-26 10:27:27
svetogor82
проблема решилась так завел удалил и завел заново пользователя на sleve сервере дал такие права

Код: Выделить всё

updatedn "uid=replicator,ou=users,dc=company,dc=local"
updateref ldap://196.192.1.200:389

access to attrs=userPassword
    by self write
    by dn="uid=replicator,ou=users,dc=company,dc=local" write
    by anonymous auth
    by * none

access to attrs=sambaLMPassword,sambaNTPassword
    by dn="cn=root,dc=company,dc=local" write
    by dn="uid=replicator,dc=company,dc=locall" write
    by * none

access to *
    by dn="uid=replicator,ou=users,dc=company,dc=local" write
    by self write
    by anonymous read
    by * none