4.4. 配置带有外部 IdM DNS 的 Capsule 服务器
当 Satellite 服务器为主机添加 DNS 记录时,它会首先确定哪个胶囊为该域提供 DNS。然后,它与配置为为您的部署提供 DNS 服务的 Capsule 通信并添加记录。主机不涉及此过程。因此,您必须在当前配置为使用 IdM 服务器管理的域提供 DNS 服务的 Satellite 或 Capsule 上安装和配置 IdM 客户端。
胶囊式服务器可以配置为使用红帽身份管理(IdM)服务器来提供 DNS 服务。有关红帽身份管理的更多信息,请参阅 Linux 域身份、身份验证和策略指南。
要将 Capsule 服务器配置为使用 Red Hat Identity Management (IdM)服务器来提供 DNS 服务,请使用以下流程之一:
要恢复到内部 DNS 服务,请使用以下流程:
您不需要使用 Capsule 服务器来管理 DNS。当您使用 Satellite 的域注册功能时,调配的主机会自动注册到 IdM 时,ipa-client-install
脚本会为客户端创建 DNS 记录。使用外部 IdM DNS 和域注册配置胶囊服务器是互斥的。有关配置域注册的更多信息,请参阅 在 连接的网络环境中安装 Satellite 服务器中的置备主机的 外部身份验证。https://docs.redhat.com/en/documentation/red_hat_satellite/6.14/html-single/installing_satellite_server_in_a_connected_network_environment/index#External_Authentication_for_Provisioned_Hosts_satellite
4.4.1. 使用 GSS-TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为对 RFC3645 中定义的 secret 密钥事务(GSS-TSIG)技术使用通用安全服务算法。要将 IdM 服务器配置为使用 GSS-TSIG 技术,您必须在 Capsule 服务器基本操作系统上安装 IdM 客户端。
先决条件
- 您必须确保 IdM 服务器已部署,并且基于主机的防火墙已正确配置。如需更多信息,请参阅 安装身份管理指南 中的 IdM 的端口要求。
- 您必须联系 IdM 服务器管理员,以确保在 IdM 服务器上获取具有在 IdM 服务器上创建区域权限的 IdM 服务器上的帐户。
- 您应创建应答文件的备份。如果应答文件损坏,您可以使用备份将应答文件恢复到其原始状态。如需更多信息,请参阅配置 Satellite 服务器。
流程
要使用 GSS-TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:
在 IdM 服务器中创建 Kerberos Principal
为从 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
文件,将 group 和 owner 设置为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 网络,并以 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-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-installer --scenario capsule \ --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
运行 satellite-installer
命令并对 Capsule 配置进行任何更改后,您必须更新 Satellite Web UI 中每个受影响的胶囊的配置。
在 Satellite Web UI 中更新配置
- 在 Satellite Web UI 中,进入到 Infrastructure > Capsules,找到 Capsule Server,从 Actions 列中的列表中,选择 Refresh。
配置域:
- 在 Satellite Web UI 中,进入到 Infrastructure > Domains 并选择域名。
- 在 Domain 选项卡中,确保 DNS Capsule 设置为连接子网的胶囊。
配置子网:
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets 并选择子网名称。
- 在 Subnet 选项卡中,将 IPAM 设置为 None。
- 在 Domains 选项卡中,选择您要使用 IdM 服务器管理的域。
- 在 Capsules 选项卡中,确保 Reverse DNS Capsule 设置为连接子网的 Capsule。
- 点 Submit 以保存更改。
4.4.2. 使用 TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为对 DNS (TSIG)技术使用 rndc.key
密钥文件进行身份验证的 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 & 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 --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=="; };
在受管主机上,为主机创建测试 DNS 条目。例如,主机
test.example.com
在 IdM 服务器上 A 记录为192.168.25.20
,地址为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
在 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=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="127.0.0.1"
如需更多信息,请参阅 在胶囊服务器上配置 DNS、DHCP 和 TFTP。
运行 satellite-installer
命令并对 Capsule 配置进行任何更改后,您必须更新 Satellite Web UI 中每个受影响的胶囊的配置。
在 Satellite Web UI 中更新配置
- 在 Satellite Web UI 中,进入到 Infrastructure > Capsules。
- 对于您要更新的每个胶囊,从 Actions 列表中选择 Refresh。
配置域:
- 在 Satellite Web UI 中,进入到 Infrastructure > Domains,然后点击您要配置的域名。
- 在 Domain 选项卡中,将 DNS Capsule 设置为连接子网的胶囊。
配置子网:
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets 并选择子网名称。
- 在 Subnet 选项卡中,将 IPAM 设置为 DHCP 或 Internal DB。
- 在 Domains 选项卡中,选择您要使用 Satellite 或 Capsule 管理的域。
- 在 Capsules 选项卡中,将 Reverse DNS Capsule 设置为连接子网的胶囊。
- 点 Submit 以保存更改。