1.6. 将身份管理 DNS 与 GSS-TSIG 身份验证集成


如果您使用身份管理来集中管理域中的主机,您可以将身份管理 DNS 服务集成到 Satellite 服务器中。该集成可让您继续使用现有的身份管理 DNS 服务,Satellite 在其生命周期内管理主机的 DNS 记录。

如果 Satellite 服务器或胶囊服务器是身份管理域的成员,请使用通用安全服务事务签名(GSS-TSIG)身份验证。与 TSIG 身份验证相比,此方法提高了安全性和低的关键管理工作。

1.6.1. 配置身份管理以用于 Satellite 服务器

在集成现有的身份管理 DNS 服务器前,您必须准备身份管理环境。准备工作可让 Satellite 服务器使用通用安全服务事务签名(GSS-TSIG)身份验证来更新 DNS 条目。

先决条件

  • 身份管理域已部署和功能。
  • 身份管理配置了其集成的 DNS 服务。
  • 身份管理服务器上的防火墙允许访问所需的端口。如需更多信息,请参阅 Red Hat Enterprise Linux 9 安装身份管理 中的 IdM 的端口要求

流程

  1. 在作为身份管理域成员的主机上,为 admin 用户获取 Kerberos ticket:

    # kinit admin
    Copy to Clipboard Toggle word wrap
  2. 在身份管理服务器上创建一个新的 Kerberos 主体 Satellite 服务器用于身份验证:

    # ipa service-add capsule/satellite.example.com
    Copy to Clipboard Toggle word wrap
  3. 可选:添加一个 forward DNS 区:

    # ipa dnszone-add example.com
    Copy to Clipboard Toggle word wrap
  4. 显示转发区的 BIND 更新策略:

    # ipa dnszone-show example.com --all | \
    grep "BIND update policy"
    Copy to Clipboard Toggle word wrap

    输出示例:

    BIND update policy: grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;
    Copy to Clipboard Toggle word wrap

    请注意设置的值。

  5. 更新 forward 区设置:

    # ipa dnszone-mod example.com \
    --dynamic-update=TRUE \
    --allow-sync-ptr=TRUE \
    --update-policy="<existing_policy> grant smartproxy\047foreman.example.com@EXAMPLE.COM wildcard * ANY;"
    Copy to Clipboard Toggle word wrap

    这个命令修改区设置,如下所示:

    • 启用动态区更新。
    • 如果在转发区中更新 A 或 AAAA 记录,身份管理会更新反向 DNS 区域中对应的 PTR 记录。
    • 上一步中创建的 Kerberos 主体有权修改任何类型的任何数据记录。请注意,您必须将此设置附加到现有值中。
  6. 可选:添加反向 DNS 区:

    # ipa dnszone-add 0.168.192.in-addr.arpa
    Copy to Clipboard Toggle word wrap
  7. 显示反向区的 BIND 更新策略:

    # ipa dnszone-show 0.168.192.in-addr.arpa --all | \
    grep "BIND update policy"
    Copy to Clipboard Toggle word wrap

    输出示例:

    BIND update policy: grant EXAMPLE.COM krb5-subdomain 0.168.192.in-addr.arpa. PTR;
    Copy to Clipboard Toggle word wrap

    请注意设置的值。

  8. 更新反向区设置:

    # ipa dnszone-mod 0.168.192.in-addr.arpa \
    --dynamic-update=TRUE \
    --update-policy="<existing_policy> grant smartproxy\047foreman.example.com@EXAMPLE.COM wildcard * ANY;"
    Copy to Clipboard Toggle word wrap

    请注意,您必须将更新策略附加到现有值中。

1.6.2. 配置用于身份管理的 Capsules

准备身份管理 DNS 服务器后,如 第 1.6.1 节 “配置身份管理以用于 Satellite 服务器” 所述,将 DNS 服务器集成到 Satellite 服务器或 Capsule 服务器中。

先决条件

  • 您可以将主机的 DNS 搜索域设置为 Identity Management DNS 域。
  • 您知道主机应该用来向身份管理 DNS 服务器进行身份验证的 Kerberos 主体,如 capsule/satellite.example.com

流程

  1. 如果您的 Satellite 服务器或 Capsule 服务器还没有是身份管理域的成员:

    1. 安装 ipa-client 软件包:

      # satellite-maintain packages install ipa-client
      Copy to Clipboard Toggle word wrap
    2. 安装身份管理客户端:

      # ipa-client-install
      Copy to Clipboard Toggle word wrap

      按照屏幕提示进行操作。

  2. admin 用户获取 Kerberos ticket:

    # kinit admin
    Copy to Clipboard Toggle word wrap
  3. 删除 /etc/foreman-proxy/dns.keytab 文件:

    # rm --force /etc/foreman-proxy/dns.keytab
    Copy to Clipboard Toggle word wrap
  4. 为您的胶囊获取 Kerberos keytab 文件,并将其存储在 /etc/foreman-proxy/dns.keytab 文件中:

    # ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \
    -k /etc/foreman-proxy/dns.keytab
    Copy to Clipboard Toggle word wrap
    重要

    当将 keytab 添加到与服务中原始系统相同的主机名时,请将 -r 选项传给 ipa-getkeytab 命令,以防止生成新凭证并在原始系统上呈现凭证无效。

  5. /etc/foreman-proxy/dns.keytab 的所有者和组设置为 foreman-proxy

    # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
    Copy to Clipboard Toggle word wrap
  6. 验证 /etc/foreman-proxy/dns.keytab 文件是否有效:

    1. 使用该文件获取 Kerberos ticket:

      # kinit -kt /etc/foreman-proxy/dns.keytab \
      capsule/satellite.example.com@EXAMPLE.COM
      Copy to Clipboard Toggle word wrap
    2. 显示 Kerberos ticket:

      # klist
      Copy to Clipboard Toggle word wrap

      输出示例:

      Ticket cache: KCM:0:50473
      Default principal: smartproxy/satellite.example.com@EXAMPLE.COM
      
      Valid starting       Expires              Service principal
      05/20/2025 12:12:35  05/21/2025 11:54:31  krbtgt/EXAMPLE.COM@EXAMPLE.COM
      Copy to Clipboard Toggle word wrap
  7. 配置 Satellite 服务器或 Capsule 服务器以连接到身份管理 DNS 服务:

    # satellite-installer \
    --foreman-proxy-dns true \
    --foreman-proxy-dns-provider nsupdate_gss \
    --foreman-proxy-dns-managed false \
    --foreman-proxy-dns-server "idm-server.example.com" \
    --foreman-proxy-dns-tsig-keytab /etc/foreman-proxy/dns.keytab \
    --foreman-proxy-dns-tsig-principal "capsule/satellite.example.com@EXAMPLE.COM"
    Copy to Clipboard Toggle word wrap
  8. 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 1.8 节 “将 DNS 服务与域和子网关联”
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat