第 10 章 对设置跨林信任进行故障排除

了解更多有关在身份管理(IdM)环境和活动目录(AD)林之间配置跨林信任过程的故障排除。

10.1. 使用 AD 建立跨林信任时事件序列

当您使用 ipa trust-add 命令建立与活动目录(AD)域控制器(DC)的跨林信任时,命令代表运行命令的用户进行操作,并在 IdM 服务器上执行以下操作。如果您在建立跨林信任时遇到问题,您可以使用此列表来帮助缩小并排除您的问题。

第 1 部分:命令会验证设置和输入

  1. 验证 IdM 服务器是否具有 Trust Controller 角色。
  2. 验证传递给 ipa trust-add 命令的选项。
  3. 验证与可信林根域关联的 ID 范围。如果您没有将 ID 范围类型和属性指定为 ipa trust-add 命令的选项,则从 Active Directory 发现它们。

第 2 部分:命令尝试建立对 Active Directory 域的信任

  1. 为每个信任方向创建单独的信任对象。每个对象都会在两端(IdM 和 AD)中创建。如果您要建立单向信任,每个都只创建一个对象。
  2. IdM 服务器使用 Samba 套件处理 Active Directory 的域控制器功能,并在目标 AD PDC 中创建信任对象:

    1. IdM 服务器建立了一个到目标 DC 上 IPC$ 共享的安全连接。从 RHEL 8.4 开始,连接至少需要使用 Windows Server 2012 及以上的 SMB3 协议,以确保连接足够安全用于会话的 AES 加密。
    2. IdM 服务器使用 LSA QueryTrustedDomainInfoByName 调用来查询是否存在可信域对象(TDO)。
    3. 如果已存在 TDO,则使用 LSA DeleteTrustedDomain 调用将其删除。

      注意

      如果用来建立信任的 AD 用户帐户没有最佳根的完整 Enterprise Admin(EA)Domain Admin(DA) 权限,如 Incoming Forest Trust Builders 组的成员,这个调用会失败。如果没有自动删除旧的 TDO,则必须从 AD 手动删除它。

    4. IdM 服务器使用 LSA CreateTrustedDomainEx2 调用创建新 TDO。TDO 凭证使用 Samba 提供的密码生成器以及 128 个随机字符随机生成。
    5. 然后,使用 LSA SetInformationTrustedDomain 调用修改新的 TDO,以确保正确设置信任支持的加密类型:

      1. 启用了 RC4_HMAC_MD5 加密类型,即使还没有使用 RC4 密钥,因为 Active Directory 的设计方式。
      2. AES128_CTS_HMAC_SHA1_96AES256_CTS_HMAC_SHA1_96 加密类型已启用。

        注意

        默认情况下,RHEL 9 不允许 SHA-1 加密,这是 AD 所需的算法。确保启用了 AD-SUPPORT 系统范围的加密策略,以便 RHEL 9 IdM 服务器中的 SHA-1 加密以便与 AD Domain Controller 进行通信。请参阅 <link TBA>。

  3. 对于林信任,请验证可使用 LSA SetInformationTrustedDomain 调用来传输中的域。
  4. 使用 LSA RSetForestTrustInformation 调用,添加与其他林通信(IdM 在与 AD 通信时 AD)的信任拓扑信息。

    注意

    此步骤可能会导致以下 3 个原因冲突:

    1. SID 命名空间冲突,报告为 LSA_SID_DISABLED_CONFLICT 错误。无法解决此冲突。
    2. NetBIOS 命名空间冲突,报告为 LSA_NB_DISABLED_CONFLICT 错误。无法解决此冲突。
    3. DNS 命名空间与顶级名称(TLN)冲突,报告为 LSA_TLN_DISABLED_CONFLICT 错误。如果 TLN 因另一林原因造成的,IdM 服务器可以自动解决它。

    要解决 TLN 冲突,IdM 服务器执行以下步骤:

    1. 检索冲突林的林信任信息。
    2. 将 IdM DNS 命名空间的排除条目添加到 AD 林中。
    3. 为我们所冲突的林林信任信息设置林信任信息。
    4. 重新尝试建立对原始林的信任。

    如果您通过 ipa trust-add 命令进行身份验证,IdM 服务器只能解决这些冲突,该附加组件具有可更改的 AD 管理员的权限。如果您没有这些权限的访问权限,则原始林的管理员必须手动执行 Windows UI 的 Active Directory Domains 和 Trusts 部分中上面的步骤。

  5. 如果不存在,为可信域创建 ID 范围。
  6. 对于林信任,请从林根查询 Active Directory 域控制器以获取有关林拓扑的详细信息。IdM 服务器使用此信息为来自可信林中的任何其他域创建额外的 ID 范围。