2

問題の説明

「プロバイダー」と「コンシューマー」の 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」がプロバイダー データベースの「contextCSN:」と同じ場合、0 レコードが返されます。データベースの更新後 - 「contextCSN:」は LDAP プロセスによって自動的に変更される必要があります。ただし、クロックが同期されていない場合など、何らかの理由でハングする場合があります。(「slapcat」で) データベースの完全なダンプを作成し、フィールド「contextCSN:」をチェックすることができます。

于 2014-11-06T04:06:42.190 に答える