以镜像方式实现openldap服务器

以镜像方式实现openldap服务器

这是我slapd.conf在 server01 上的配置:

    serverID    1
    # database section

    # syncrepl directive
    syncrepl      rid=002
        provider=ldap://192.168.100.193
        bindmethod=simple
        binddn="cn=admin,dc=example,dc=local"
        credentials=123
        searchbase="dc=example,dc=local"
        schemachecking=on
        type=refreshAndPersist
        retry="60 +"
        overlay syncprov
        syncprov-checkpoint 50 1
        syncprov-sessionlog 50
    mirrormode on

这是我在slapd.confserver02 上的配置:

 serverID    2
# database section

# syncrepl directive
syncrepl      rid=002
        provider=ldap://192.168.100.139
        bindmethod=simple
        binddn="cn=admin,dc=example,dc=local"
        credentials=123
        searchbase="dc=example,dc=local"
        schemachecking=on
        type=refreshAndPersist
        retry="60 +"
mirrormode on

然后使用slaptest命令生成配置文件(slaptest -f config-file -F /etc/ldap/slapd.d/)并用两个服务器路径中的默认文件替换它们/etc/ldap/slapd.d
然后重新启动 slapd 服务,一切正常。但是当我向两个服务器添加条目时,它们不会相互同步数据。

完成这些步骤后,我尝试捕获数据包并发现它们找到了另一台服务器的所有条目。

附言:抱歉我的英语不好

答案1

这是在我的场景中有效的答案:

复制/usr/share/slapd/slapd.conf并添加以下配置:

第一服务器:

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

moduleload      back_mdb
moduleload      accesslog.la
moduleload      syncprov.la

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

serverID    1

syncrepl      rid=001
        provider=ldap://<second-server>
        bindmethod=simple
        binddn="cn=admin,dc=part,dc=local"
        credentials=123
        searchbase="dc=part,dc=local"
        scope=sub
        schemachecking=on
        type=refreshAndPersist
        retry="60 +"
mirrormode on

秒服务器:
与上面的类似,只需编辑serverID。然后瞧......

相关内容