4.4. 使用外部 IdM DNS 配置胶囊服务器


当卫星服务器为主机添加 DNS 记录时,它首先确定为该域提供 DNS 的胶囊。然后,它将与配置为为您的部署提供 DNS 服务的胶囊通信,并添加记录。此过程中不涉及主机。因此,您必须在当前被配置为使用 IdM 服务器管理的域的 Satellite 或 Capsule 上安装和配置 IdM 客户端。

胶囊服务器可以配置为使用 Red Hat Identity Management(IdM)服务器来提供 DNS 服务。有关 Red Hat Identity Management 的更多信息,请参阅 Linux 域身份、身份验证和策略指南

要将 Capsule Server 配置为使用 Red Hat Identity Management(IdM)服务器来提供 DNS 服务,请使用以下流程之一:

要恢复到内部 DNS 服务,请使用以下步骤:

注意

您不需要使用胶囊服务器来管理 DNS。当您使用 Satellite 的 realm 注册功能时,置备的主机会自动注册到 IdM,ipa-client-install 脚本会为客户端创建 DNS 记录。使用外部 IdM DNS 和域注册配置胶囊服务器是互斥的。有关配置域注册的更多信息,请参阅在 连接的网络环境中安装 Satellite 服务器 中的 为置备主机进行外部身份验证

4.4.1. 使用 GSS-TSIG 身份验证配置动态 DNS 更新

您可以将 IdM 服务器配置为使用 RFC3645 中定义的 secret 密钥事务(GSS-TSIG)技术的通用安全服务算法。要将 IdM 服务器配置为使用 GSS-TSIG 技术,您必须在胶囊服务器基本操作系统中安装 IdM 客户端。

先决条件

  • 您必须确保 IdM 服务器已部署并正确配置基于主机的防火墙。如需更多信息,请参阅 安装身份管理指南 中的 IdM 的端口要求
  • 您必须联系 IdM 服务器管理员,以确保在 IdM 服务器中获取具有在 IdM 服务器中创建的区的权限。
  • 您应创建应答文件的备份。如果已损坏,您可以使用备份将回答文件恢复到其原始状态。如需更多信息,请参阅 配置卫星服务器

流程

要使用 GSS-TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:

在 IdM 服务器上创建 Kerberos 主体

  1. 获取从 IdM 管理员获取的帐户的 Kerberos ticket:

    # kinit idm_user
  2. 为胶囊服务器创建一个新的 Kerberos 主体,以用于在 IdM 服务器中进行身份验证。

    # ipa service-add capsule.example.com

安装和配置 IdM 客户端

  1. 在管理用于部署的 DNS 服务的 Satellite 或 Capsule 的基础操作系统上,安装 ipa-client 软件包:

    # satellite-maintain packages install ipa-client
  2. 运行安装脚本并根据屏幕提示配置 IdM 客户端:

    # ipa-client-install
  3. 获取Kerberos ticket:

    # kinit admin
  4. 删除任何已存在的 keytab

    # rm /etc/foreman-proxy/dns.keytab
  5. 获取此系统的 keytab

    # ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \
    -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
    注意

    当将 keytab 添加到与服务中原始系统相同的主机名的备用系统中时,添加 r 选项以防止生成新凭证,并在原始系统上渲染凭证无效。

  6. 对于 dns.keytab 文件,将 group 和 owner 设置为 foreman-proxy

    # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
  7. 可选: 要验证 keytab 文件是否有效,请输入以下命令:

    # kinit -kt /etc/foreman-proxy/dns.keytab \
    capsule/satellite.example.com@EXAMPLE.COM

在 IdM Web UI 中配置 DNS 区域

  1. 创建并配置您要管理的区域:

    1. 进入 Network Services > DNS > DNS Zones
    2. 选择 Add 并输入区域名称。例如: example.com
    3. Add and Edit
    4. 点 Settings 标签页并在 BIND 更新策略 框中,在分号分开的列表中添加以下内容:

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
    5. Dynamic update 设置为 True
    6. 启用 Allow PTR 同步
    7. Save 保存更改。
  2. 创建并配置反向区:

    1. 进入 Network Services > DNS > DNS Zones
    2. 点击 Add
    3. 选择 Reverse zone IP 网络 并使用 CIDR 格式添加网络地址以启用反向查找。
    4. Add and Edit
    5. Settings 标签页并在 BIND 更新策略 框中,在分号分开的列表中添加以下内容:

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
    6. Dynamic update 设置为 True
    7. Save 保存更改。

配置为域管理 DNS 服务的 Satellite 或 Capsule Server

  1. 使用 satellite-installer 命令配置管理域的 DNS 服务的 Satellite 或 Capsule:

    • 在 Satellite 上,输入以下命令:

      satellite-installer --scenario satellite \
      --foreman-proxy-dns=true \
      --foreman-proxy-dns-managed=false \
      --foreman-proxy-dns-provider=nsupdate_gss \
      --foreman-proxy-dns-server="idm1.example.com" \
      --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \
      --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab
    • 在 Capsule 上,输入以下命令:

      satellite-installer --scenario capsule \
      --foreman-proxy-dns=true \
      --foreman-proxy-dns-managed=false \
      --foreman-proxy-dns-provider=nsupdate_gss \
      --foreman-proxy-dns-server="idm1.example.com" \
      --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \
      --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab

运行 satellite-installer 命令后,对胶囊配置进行任何更改,您必须在卫星 Web UI 中更新每个受影响的胶囊的配置。

在 Satellite Web UI 中更新配置

  1. 在卫星 Web UI 中,导航到 Infrastructure > Capsules,找到 Capsule Server,并从 Actions 列中的列表中,选择 Refresh
  2. 配置域:

    1. 在 Satellite Web UI 中,导航到 Infrastructure > Domains 并选择域名。
    2. Domain 选项卡中,确保 DNS Capsule 设置为连接子网的胶囊。
  3. 配置子网:

    1. 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网名称。
    2. Subnet 选项卡中,将 IPAM 设置为 None
    3. Domains 选项卡中,选择您要使用 IdM 服务器管理的域。
    4. Capsules 选项卡中,确保将 Reverse DNS Capsule 设置为连接子网的胶囊。
    5. Submit 保存更改。

4.4.2. 使用 TSIG 身份验证配置动态 DNS 更新

您可以将 IdM 服务器配置为使用 rndc.key 密钥文件对 DNS(TSIG)技术的 secret key 事务身份验证进行身份验证。TSIG 协议在 RFC2845 中定义。

先决条件

  • 您必须确保 IdM 服务器已部署并正确配置基于主机的防火墙。如需更多信息,请参阅 Linux 域身份、身份验证和策略指南中的 端口要求
  • 您必须在 IdM 服务器上获取 root 用户访问。
  • 您必须确认 Satellite 服务器或胶囊服务器是否配置为为您的部署提供 DNS 服务。
  • 您必须在用于管理用于部署的 DNS 服务的卫星或胶囊的基础操作系统上配置 DNS、DHCP 和 TFTP 服务。
  • 您必须创建回答文件的备份。如果已损坏,您可以使用备份将回答文件恢复到其原始状态。如需更多信息,请参阅 配置卫星服务器

流程

要使用 TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:

在 IdM 服务器中启用对 DNS 区的外部更新

  1. 在 IdM 服务器中,在 /etc/named.conf 文件的顶部添加以下内容:

    ########################################################################
    
    include "/etc/rndc.key";
    controls  {
    inet _IdM_Server_IP_Address_ port 953 allow { _Satellite_IP_Address_; } keys { "rndc-key"; };
    };
    ########################################################################
  2. 重新载入 named 服务以使更改生效:

    # systemctl reload named
  3. 在 IdM web UI 中,进入 Network Services > DNS > DNS Zones 并点区的名称。在 Settings 选项卡中,应用以下更改:

    1. BIND 更新策略 框中添加以下内容:

      grant "rndc-key" zonesub ANY;
    2. Dynamic update 设置为 True
    3. Update 保存更改。
  4. /etc/rndc.key 文件从 IdM 服务器复制到 Satellite 服务器的基础操作系统。使用以下命令:

    # scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
  5. 要为 rndc.key 文件设置正确的所有权、权限和 SELinux 上下文,请输入以下命令:

    # restorecon -v /etc/rndc.key
    # chown -v root:named /etc/rndc.key
    # chmod -v 640 /etc/rndc.key
  6. foreman-proxy 用户手动分配给 指定组。通常, satellite-installer 可确保 foreman-proxy 用户属于 命名 UNIX 组,但在这种情形中,卫星不管理用户和组,因此您需要手动将 foreman-proxy 用户分配给指定组。

    # usermod -a -G named foreman-proxy
  7. 在控制台中,输入以下 satellite-installer 命令,将 Satellite 配置为使用外部 DNS 服务器:

    # satellite-installer --scenario satellite \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=false \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="IdM_Server_IP_Address" \
    --foreman-proxy-keyfile=/etc/rndc.key \
    --foreman-proxy-dns-ttl=86400

将外部更新测试到 IdM 服务器中的 DNS 区

  1. 确保卫星服务器的 /etc/rndc.key 文件中的密钥与 IdM 服务器上的 /etc/rndc.key 文件中的密钥相同:

    key "rndc-key" {
            algorithm hmac-md5;
            secret "secret-key==";
    };
  2. 在卫星服务器上,为主机创建一个测试 DNS 条目。例如,在 IdM 服务器上具有 A 记录 192.168.25.20 的主机 test.example.com,地址为 192.168.25.1

    # echo -e "server 192.168.25.1\n \
    update add test.example.com 3600 IN A 192.168.25.20\n \
    send\n" | nsupdate -k /etc/rndc.key
  3. 在 Satellite 服务器中测试 DNS 条目:

    # nslookup test.example.com 192.168.25.1
    Server:		192.168.25.1
    Address:	192.168.25.1#53
    
    Name:	test.example.com
    Address: 192.168.25.20
  4. 要在 IdM web UI 中查看条目,请导航至 Network Services > DNS Zones。点区域的名称,并按名称搜索主机。
  5. 如果成功解析,请删除测试 DNS 条目:

    # echo -e "server 192.168.25.1\n \
    update delete test.example.com 3600 IN A 192.168.25.20\n \
    send\n" | nsupdate -k /etc/rndc.key
  6. 确认 DNS 条目已被删除:

    # nslookup test.example.com 192.168.25.1

    如果成功删除了记录,上面的 nslookup 命令会失败并返回 SERVFAIL 错误消息。

4.4.3. 恢复到内部 DNS 服务

您可以使用 Satellite 服务器和 Capsule Server 作为 DNS 提供程序恢复到。您可以使用配置外部 DNS 之前创建的回答文件备份,或者创建回答文件备份。有关应答文件的更多信息,请参阅 配置卫星服务器

流程

在您要配置用来管理域的 DNS 服务的 Satellite 或 Capsule 服务器中,请完成以下步骤:

将 Satellite 或 Capsule 配置为 DNS 服务器

  • 如果您在配置外部 DNS 前创建了回答文件的备份,请恢复回答文件,然后输入 satellite-installer 命令:

    # satellite-installer
  • 如果您没有回答文件的适当备份,请立即创建回答文件的备份。要在不使用应答文件的情况下将 Satellite 或 Capsule 配置为 DNS 服务器,请在 Satellite 或 Capsule 上输入以下 satellite-installer 命令:

    # satellite-installer \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=true \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="127.0.0.1"

    如需更多信息,请参阅在 胶囊服务器 上配置 DNS、DHCP 和 TFTP

运行 satellite-installer 命令后,对胶囊配置进行任何更改,您必须在卫星 Web UI 中更新每个受影响的胶囊的配置。

在 Satellite Web UI 中更新配置

  1. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules
  2. 对于您要更新的每个胶囊,从 Actions 列表中选择 Refresh
  3. 配置域:

    1. 在 Satellite Web UI 中,进入 Infrastructure > Domains 并点您要配置的域名。
    2. Domain 选项卡中,将 DNS Capsule 设置为连接子网的胶囊。
  4. 配置子网:

    1. 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网名称。
    2. 子网 选项卡中,将 IPAM 设置为 DHCP 或内部数据库
    3. Domains 选项卡中,选择您要使用 Satellite 或 Capsule 管理的域。
    4. Capsules 选项卡中,将 Reverse DNS Capsule 设置为连接子网的胶囊。
    5. Submit 保存更改。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.