有两个openldap服务器:“provider”和“consumer”。提供商工作正常,消费者可以使用stunnel在localhost:1000访问。
如果使用空数据库启动使用者,它会自动同步提供者的数据库并且工作正常。
但是如果稍后在提供者身上发生了某些变化,那么它就无法传达给消费者。
更改域名,编辑密码。提供商上有一个用于同步的ldapsync
帐户。
Debian GNU / Linux 5.0
OpenLDAP:slapd 2。4。11(2010年7月23日21:37:26)
$ less /etc/ldap/slapd.conf
[...]
moduleload syncprov.la
[...]
overlay syncprov
syncprov-checkpoint 10 60
syncprov-sessionlog 1000
Debian GNU / Linux 5.0
OpenLDAP:slapd 2。4。11(2010年7月24日08:14:20)
$ less /etc/ldap/slapd.conf
[...]
syncrepl rid=123
provider=ldap://localhost:1000
type=refreshAndPersist
interval=00:00:05:00
searchbase="dc=mydomain,dc=com"
scope=sub
schemachecking=off
bindmethod=simple
binddn="cn=ldapsync,ou=Roles,dc=mydomain,dc=com"
credentials=<***REDACTED***>
我的工作主要基于:http://www.openldap.org/doc/admin22/syncrepl.html
我已尝试type=refreshOnly
而不是type=refreshAndPersist
。
答案 0 :(得分:1)
Syncrepl在搜索请求中使用“cookie”。如果“cookie”与提供者数据库中的“contextCSN:”相同,则返回0条记录。 在数据库中进行任何更新后 - “contextCSN:”必须由LDAP进程自动更改。但由于某些原因,它可能会挂起,例如,如果时钟不同步。您可以创建数据库的完全转储(通过“slapcat”)并检查字段“contextCSN:”