2

问题描述

有两个 openldap 服务器:“提供者”和“消费者”。提供者工作正常,消费者可以使用 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.

4

1 回答 1

1

Syncrepl 在搜索请求中使用“cookie”。如果“cookie”与 providers 数据库中的“contextCSN:”相同,则返回 0 条记录。在数据库中进行任何更新后 - “contextCSN:”必须由 LDAP 进程自动更改。但由于某些原因,它可能会挂起,例如如果时钟不同步。您可以创建数据库的完整转储(通过“slapcat”)并检查字段“contextCSN:”

于 2014-11-06T04:06:42.190 回答