第 22 章 使用 SyncRepl 协议设置内容同步


要根据 RFC 4533 支持 SyncRepl 协议,目录服务器使用 Content Synchronization 插件。使用内容同步插件时,LDAP 服务器和客户端可以使用 Red Hat Directory Server 作为源,将其本地数据库与目录的内容同步。

要使用 SyncRepl 协议,您需要执行以下配置:

  • 在 Directory 服务器端:

    • 配置内容同步和 Retro Changelog 插件。Retro Changelog 插件必须记录 nsuniqueid 操作属性。
    • 可选: 创建一个新用户,您的客户端将用来绑定到目录服务器。新用户必须具有读取目录中内容的权限。详情请参阅 使用命令行 添加 LDAP 条目
  • 配置您的客户端。例如,设置要同步的子树的搜索基础。详情请查看您的客户端文档。

以下流程使用命令行配置 Content Synchronization 和 Retro Changelog 插件。

先决条件

  • 您有 root 权限。

流程

  1. 验证 Retro Changelog 是否已启用:

    # dsconf <instance_name> plugin retro-changelog show
    ...
    nsslapd-pluginEnabled: off
    Copy to Clipboard Toggle word wrap

    如果禁用 Retro Changelog 插件,请启用它:

    # dsconf <instance_name> plugin retro-changelog enable
    Enabled plugin 'Retro Changelog Plugin'
    Copy to Clipboard Toggle word wrap
  2. 将带有 targetUniqueId 别名的 nsuniqueid 操作属性添加到 Retro Changelog 插件配置中:

    # dsconf <instance_name> plugin retro-changelog add --attribute nsuniqueid:targetUniqueId
    Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
    Copy to Clipboard Toggle word wrap
  3. 可选:应用以下建议以提高性能:

    1. 配置 Retro Changelog 条目的最长期限。例如,将年龄设置为 2 天(2d):

      # dsconf <instance_name> plugin retro-changelog set --max-age 2d
      Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
      Copy to Clipboard Toggle word wrap
    2. 如果您知道客户端访问哪个后端或子树来同步数据,请限制 Retro Changelog 插件的范围。例如,要排除 cn= marketing,dc=example,dc=com 子树,请输入:

      # dsconf <instance_name> plugin retro-changelog set --exclude-suffix "cn=marketing,dc=example,dc=com"
      Successfully changed the cn=Retro Changelog Plugin,cn=plugins,cn=config
      Copy to Clipboard Toggle word wrap
  4. 启用内容同步插件:

    # dsconf <instance_name> plugin contentsync enable
    Enabled plugin 'Content Synchronization'
    Copy to Clipboard Toggle word wrap
  5. 可选:调整 ACI 来限制可以使用 SyncRepl 控制的人员。默认情况下,Directory 服务器在 oid=1.3.6.1.4.1.4203.1.9.1.1,cn=features,cn=config 条目中创建以下访问控制指令(ACI),它允许所有用户使用 SyncRepl 协议:

    aci: (targetattr != "aci")(version 3.0; acl "Sync Request Control";
       allow( read, search ) userdn = "ldap:///all";)
    Copy to Clipboard Toggle word wrap

    有关如何调整 ACI 的详情,请参考 定义 ACI 绑定规则

  6. 重启服务器:

    # dsctl <instance_name> restart
    Copy to Clipboard Toggle word wrap

现在,您的客户端可以使用 SyncRepl 协议将数据与目录服务器同步。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat