4.4. 使用外部 IdM DNS 配置 Capsule 服务器
当 Satellite 服务器为主机添加 DNS 记录时,首先确定哪个 Capsule 为该域提供 DNS。然后,它将与配置为为您的部署提供 DNS 服务的 Capsule 通信并添加记录。此过程中不涉及该主机。因此,您必须在 Satellite 或 Capsule 上安装和配置 IdM 客户端,该客户端当前配置为为您要使用 IdM 服务器管理的域提供 DNS 服务。
Capsule 服务器可以配置为使用红帽身份管理(IdM)服务器来提供 DNS 服务。有关红帽身份管理的更多信息,请参阅 Linux 域身份、身份验证和策略指南。
要将 Capsule 服务器配置为使用红帽身份管理(IdM)服务器来提供 DNS 服务,请使用以下流程之一:
要恢复到内部 DNS 服务,请使用以下流程:
您不需要使用 Capsule 服务器来管理 DNS。当您使用 Satellite 的域注册功能时,置备的主机会自动注册到 IdM,ipa-client-install 脚本会为客户端创建 DNS 记录。使用外部 IdM DNS 和域注册配置 Capsule 服务器是互斥的。有关配置域注册的更多信息,请参阅 管理 Red Hat Satellite 指南中的置备主机 的 外部身份验证。
4.4.1. 使用 GSS-TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为将通用安全服务算法用于 RFC3645 中定义的 secret 密钥事务(GSS-TSIG)技术。要将 IdM 服务器配置为使用 GSS-TSIG 技术,您必须在 Capsule 服务器基础操作系统上安装 IdM 客户端。
先决条件
- 您必须确保 IdM 服务器已部署,并且基于主机的防火墙已正确配置。如需更多信息,请参阅 Linux 域身份、身份验证和策略指南 中的 端口要求。
- 您必须联系 IdM 服务器管理员,以确保获取 IdM 服务器上的帐户,并有权在 IdM 服务器上创建区域。
- 您应该创建回答文件的备份。如果回答文件损坏,您可以使用备份将其恢复到其原始状态。如需更多信息,请参阅配置 Satellite 服务器。
流程
要使用 GSS-TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:
在 IdM 服务器上创建 Kerberos 主体
为从 IdM 管理员获取的帐户获取 Kerberos 票据:
# kinit idm_user为 Capsule 服务器创建一个新的 Kerberos 主体,用于在 IdM 服务器上进行身份验证。
# ipa service-add capsule.example.com
安装和配置 IdM 客户端
在管理部署的 DNS 服务的 Satellite 或 Capsule 的基本操作系统中,安装
ipa-client软件包:# satellite-maintain packages install ipa-client
运行安装脚本并遵循屏幕提示来配置 IdM 客户端:
# ipa-client-install
获取Kerberos ticket:
# kinit admin
删除任何已存在的
keytab:# rm /etc/foreman-proxy/dns.keytab
获取此系统的
keytab:# ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
注意将 keytab 添加到与服务原始系统相同的主机名的备用系统中时,添加
r选项以防止生成新凭证并在原始系统上呈现凭据无效。对于
dns.keytab文件,将所有者和组设置为foreman-proxy:# chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
可选: 要验证
keytab文件是否有效,请输入以下命令:# kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COM
在 IdM Web UI 中配置 DNS 区域
创建并配置您要管理的区:
- 进入 Network Services > DNS > DNS Zones。
-
选择 Add 并输入区域名称。例如:
example.com。 - 点 Add and Edit。
点 Settings 选项卡,在 BIND 更新策略 框中,将以下内容添加到分号分开的列表中:
grant capsule/047satellite.example.com@EXAMPLE.COM wildcard * ANY;- 将 Dynamic update 设置为 True。
- 启用 Allow PTR 同步。
- 点 Save 保存更改。
创建并配置反向区:
- 进入 Network Services > DNS > DNS Zones。
- 点击 Add。
- 选择 Reverse zone IP network 并使用 CIDR 格式添加网络地址来启用反向查找。
- 点 Add and Edit。
点 Settings 选项卡,在 BIND 更新策略 框中,将以下内容添加到分号分开的列表中:
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;- 将 Dynamic update 设置为 True。
- 点 Save 保存更改。
配置管理域的 DNS 服务的 Satellite 或 Capsule 服务器
使用
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 命令对 Capsule 配置进行任何更改后,您必须在 Satellite Web UI 中更新每个受影响的 Capsule 的配置。
在 Satellite Web UI 中更新配置
- 在 Satellite Web UI 中,导航到 Infrastructure > Capsules,找到 Capsule Server,并从 Actions 列中的列表,选择 Refresh。
配置域:
- 在 Satellite Web UI 中,导航到 Infrastructure > Domains 并选择域名。
- 在 Domain 选项卡中,确保将 DNS Capsule 设置为子网连接的 Capsule。
配置子网:
- 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网名称。
- 在 子网 选项卡中,将 IPAM 设置为 None。
- 在 Domains 选项卡中,选择您要使用 IdM 服务器管理的域。
- 在 Capsules 选项卡中,确保将 Reverse DNS Capsule 设置为子网连接的 Capsule。
- 点 Submit 保存更改。
4.4.2. 使用 TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为对使用 rndc.key 密钥文件的 DNS (TSIG)技术进行 secret 密钥事务身份验证。TSIG 协议在 RFC2845 中定义。
先决条件
- 您必须确保 IdM 服务器已部署,并且基于主机的防火墙已正确配置。如需更多信息,请参阅 Linux 域身份、身份验证和策略指南 中的 端口要求。
-
您必须在 IdM 服务器上获取
root用户访问权限。 - 您必须确认 Satellite 服务器或 Capsule 服务器是否已配置为为您的部署提供 DNS 服务。
- 您必须在管理部署的 DNS 服务的 Satellite 或 Capsule 的基础操作系统上配置 DNS、DHCP 和 TFTP 服务。
- 您必须创建回答文件的备份。如果回答文件损坏,您可以使用备份将其恢复到其原始状态。如需更多信息,请参阅配置 Satellite 服务器。
流程
要使用 TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:
在 IdM 服务器中启用对 DNS 区的外部更新
在 IdM 服务器上,将以下内容添加到
/etc/named.conf文件的顶部:######################################################################## include "/etc/rndc.key"; controls { inet _IdM_Server_IP_Address_ port 953 allow { _Satellite_IP_Address_; } keys { "rndc-key"; }; }; ########################################################################重新载入
named服务以使更改生效:# systemctl reload named
在 IdM Web UI 中,导航到 Network Services > DNS > DNS Zones,然后点击区的名称。在 Settings 选项卡中,应用以下更改:
在
BIND 更新策略框中添加以下内容:grant "rndc-key" zonesub ANY;
- 将 Dynamic update 设置为 True。
- 点 Update 保存更改。
将
/etc/rndc.key文件从 IdM 服务器复制到 Satellite 服务器的基本操作系统。使用以下命令:# scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key要为
rndc.key文件设置正确的所有权、权限和 SELinux 上下文,请输入以下命令:# restorecon -v /etc/rndc.key # chown -v root:named /etc/rndc.key # chmod -v 640 /etc/rndc.key
手动将
foreman-proxy用户分配给named组。通常,satellite-installer 确保foreman-proxy用户属于namedUNIX 组,但是在这种情况下,Satellite 不管理用户和组,因此您需要手动将foreman-proxy用户分配给named组。# usermod -a -G named foreman-proxy
在 Satellite 服务器上,输入以下
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 区的外部更新
确保 Satellite 服务器上的
/etc/rndc.key文件中的密钥与 IdM 服务器中使用的密钥文件相同:key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };在 Satellite 服务器上,为主机创建一个测试 DNS 条目。例如,在
192.168.25.1的 IdM 服务器上的 A 记录192.168.25.20的主机test.example.com。# 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在 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- 要查看 IdM Web UI 中的条目,请导航到 Network Services > DNS > DNS Zones。单击区域的名称,再按名称搜索主机。
如果成功解析,请删除 test 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确认 DNS 条目已被删除:
# nslookup test.example.com 192.168.25.1以上
nslookup命令失败,并在成功删除记录时返回SERVFAIL错误消息。
4.4.3. 恢复到内部 DNS 服务
您可以恢复到使用 Satellite 服务器和 Capsule 服务器作为 DNS 提供程序。您可以使用配置外部 DNS 之前创建的回答文件的备份,或者您可以创建回答文件的备份。有关回答文件的更多信息,请参阅配置 Satellite 服务器。
流程
在您要配置为管理域的 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"
如需更多信息,请参阅在 Capsule 服务器上配置 DNS、DHCP 和 TFTP。
运行 satellite-installer 命令对 Capsule 配置进行任何更改后,您必须在 Satellite Web UI 中更新每个受影响的 Capsule 的配置。
在 Satellite Web UI 中更新配置
- 在 Satellite Web UI 中,导航到 Infrastructure > Capsules。
- 对于您要更新的每个 Capsule,请从 Actions 列表中选择 Refresh。
配置域:
- 在 Satellite Web UI 中,导航到 Infrastructure > Domains,然后点击您要配置的域名。
- 在 Domain 选项卡中,将 DNS Capsule 设置为子网连接的 Capsule。
配置子网:
- 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网名称。
- 在 子网 选项卡中,将 IPAM 设置为 DHCP 或 内部 DB。
- 在 Domains 选项卡中,选择您要使用 Satellite 或 Capsule 管理的域。
- 在 Capsules 选项卡中,将 Reverse DNS Capsule 设置为子网连接的 Capsule。
- 点 Submit 保存更改。