4.4. 使用外部 IdM DNS 配置 Capsule 服务器
当 Satellite 服务器为主机添加 DNS 记录时,它会首先确定为该域提供 DNS 的胶囊。然后,它将与配置为为您的部署提供 DNS 服务的 Capsule 通信并添加记录。此过程中不涉及主机。因此,您必须在当前配置为使用 IdM 服务器管理的域的 Satellite 或 Capsule 上安装和配置 IdM 客户端。
胶囊式服务器可以配置为使用 Red Hat Identity Management (IdM)服务器来提供 DNS 服务。有关 Red Hat Identity Management 的更多信息,请参阅 Red Hat Enterprise Linux 7 Linux 域身份、身份验证和策略指南。
要将 Capsule 服务器配置为使用 Red Hat Identity Management (IdM)服务器来提供 DNS 服务,请使用以下流程之一:
要恢复到内部 DNS 服务,请使用以下流程:
您不需要使用 Capsule 服务器来管理 DNS。当您使用 Satellite 的域注册功能时,置备的主机会自动注册到 IdM,ipa-client-install
脚本会为客户端创建 DNS 记录。使用外部 IdM DNS 和域注册配置 Capsule 服务器是互斥的。有关配置域注册的更多信息,请参阅配置 Satellite,以便在 连接的网络环境中安装 Satellite 服务器 中的 管理注册到身份管理域的主机的生命周期。
4.4.1. 使用 GSS-TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为将通用安全服务算法用于 RFC3645 中定义的 secret 密钥事务(GSS-TSIG)技术。要将 IdM 服务器配置为使用 GSS-TSIG 技术,您必须在 Capsule 服务器基本操作系统中安装 IdM 客户端。
先决条件
- 您必须确保 IdM 服务器已部署,并且基于主机的防火墙已正确配置。如需更多信息,请参阅 Red Hat Enterprise Linux 8 安装身份管理或端口 要求 中的 Red Hat Enterprise Linux 9 安装身份管理 或端口 要求中的 IdM 的端口 要求。
- 您必须联系 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 sync。
- 点 Save 保存更改。
创建并配置反向区:
- 导航到 Network Services > DNS > DNS Zones。
- 点击 Add。
- 选择 反向区 IP 网络,并以 CIDR 格式添加网络地址以启用反向查找。
- 点 Add and Edit。
点 Settings 选项卡,在 BIND 更新策略 框中,将以下内容添加到分号分隔的列表:
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
- 将 Dynamic update 设置为 True。
- 点 Save 保存更改。
配置管理域的 DNS 服务的 Satellite 或 Capsule 服务器
配置 Satellite 服务器或 Capsule 服务器以连接到您的 DNS 服务:
# satellite-installer \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate_gss \ --foreman-proxy-dns-server="idm1.example.com" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \ --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns=true
对于每个受影响的 Capsule,在 Satellite Web UI 中更新该 Capsule 的配置:
- 在 Satellite Web UI 中,导航到 Infrastructure > Capsules,找到 Capsule 服务器,然后从 Actions 列中的列表中,选择 Refresh。
配置域:
- 在 Satellite Web UI 中,进入到 Infrastructure > Domains 并选择域名。
- 在 Domain 选项卡中,确保 DNS Capsule 设置为连接子网的 Capsule。
配置子网:
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets 并选择子网名称。
- 在 Subnet 选项卡中,将 IPAM 设置为 None。
- 在 Domains 选项卡中,选择您要使用 IdM 服务器管理的域。
- 在 Capsules 选项卡中,确保将 Reverse DNS Capsule 设置为子网连接的 Capsule。
- 点 Submit 以保存更改。
4.4.2. 使用 TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为对使用 rndc.key
密钥文件进行身份验证的 DNS (TSIG)技术使用 secret 密钥事务身份验证。TSIG 协议在 RFC2845 中定义。
先决条件
- 您必须确保 IdM 服务器已部署,并且基于主机的防火墙已正确配置。如需更多信息,请参阅 Red Hat Enterprise Linux 7 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 & gt; 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
用户属于named
UNIX 组,但是在这种情况下,Satellite 不管理用户和组,因此您需要手动将foreman-proxy
用户分配给named
组。# usermod -a -G named foreman-proxy
在 Satellite 服务器上,输入以下
satellite-installer
命令将 Satellite 配置为使用外部 DNS 服务器:# satellite-installer \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="IdM_Server_IP_Address" \ --foreman-proxy-dns-ttl=86400 \ --foreman-proxy-dns=true \ --foreman-proxy-keyfile=/etc/rndc.key
在 IdM 服务器中测试 DNS 区域的外部更新
确保 Satellite 服务器上的
/etc/rndc.key
文件中的密钥与 IdM 服务器中使用的密钥文件相同:key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };
在服务器上,为主机创建测试 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。单击区域的名称,再按名称搜索主机。
如果成功解析,请删除测试 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-managed=true \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="127.0.0.1" \ --foreman-proxy-dns=true
如需更多信息,请参阅 第 3.6 节 “在胶囊服务器上配置 DNS、DHCP 和 TFTP”。
运行 satellite-installer
命令对 Capsule 配置进行任何更改后,您必须在 Satellite Web UI 中更新每个受影响的 Capsule 的配置。
在 Satellite Web UI 中更新配置
- 在 Satellite Web UI 中,进入到 Infrastructure > Capsules。
- 对于您要更新的每个胶囊,从 Actions 列表中选择 Refresh。
配置域:
- 在 Satellite Web UI 中,进入到 Infrastructure > Domains,然后点击您要配置的域名。
- 在 Domain 选项卡中,将 DNS Capsule 设置为子网连接的 Capsule。
配置子网:
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets 并选择子网名称。
- 在 Subnet 选项卡中,将 IPAM 设置为 DHCP 或 Internal DB。
- 在 Domains 选项卡中,选择您要使用 Satellite 或 Capsule 管理的域。
- 在 Capsules 选项卡中,将 Reverse DNS Capsule 设置为子网连接的 Capsule。
- 点 Submit 以保存更改。