集成配置基础架构服务
配置 DNS、DHCP 和 TFTP 集成
摘要
对红帽文档提供反馈 复制链接链接已复制到粘贴板!
我们感谢您对我们文档的反馈。让我们了解如何改进它。
使用 Red Hat Jira 中的 Create Issue 表单提供您的反馈。JIRA 问题是在 Red Hat Satellite Jira 项目中创建的,您可以在其中跟踪其进度。
先决条件
- 确保您已注册了 红帽帐户。
流程
- 单击以下链接: 创建问题。如果 Jira 显示登录错误,则登录并在您重定向到表单后继续。
- 完成 Summary 和 Description 字段。在 Description 字段中,包含文档 URL、章节号以及问题的详细描述。不要修改表单中的任何其他字段。
- 点 Create。
第 1 章 配置 DNS 集成 复制链接链接已复制到粘贴板!
您可以将 DNS 与 Satellite 集成,以便在置备、修改和停用主机时自动创建和管理 DNS 记录。这有助于确保一个一致且无错误的网络配置。
1.1. DNS 服务供应商 复制链接链接已复制到粘贴板!
Capsule 支持以下 DNS 供应商,供您用于将 Satellite 与现有 DNS 基础架构集成或部署新 DNS 基础架构:
dns_nsupdate使用
nsupdate工具在 RFC 2136兼容 DNS 服务器上动态 DNS 更新。请参阅:dns_nsupdate_gss-
使用带有事务签名(GSS-TSIG)验证的通用安全服务算法的
nsupdate工具,在 RFC 2136兼容 DNS 服务器上的动态 DNS 更新。请参阅 第 1.6 节 “将身份管理 DNS 与 GSS-TSIG 身份验证集成”。 dns_infoblox- Infoblox DNS 服务器上的动态 DNS 更新。请参阅 第 1.7 节 “集成 Infoblox DNS”。
1.2. 启用安装程序管理的 DNS 服务 复制链接链接已复制到粘贴板!
如果您的网络中没有 DNS 服务器,您可以使用安装程序管理的 DNS 服务。这个功能可让您为 DNS 服务提供低维护开销。
流程
将 Satellite 或 Capsule 配置为 DNS 服务器:
satellite-installer \ --foreman-proxy-dns true \ --foreman-proxy-dns-provider nsupdate \ --foreman-proxy-dns-managed true \ --reset-foreman-proxy-dns-server
# satellite-installer \ --foreman-proxy-dns true \ --foreman-proxy-dns-provider nsupdate \ --foreman-proxy-dns-managed true \ --reset-foreman-proxy-dns-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 1.8 节 “将 DNS 服务与域和子网关联”。
1.3. 集成本地自我管理的 DNS 服务 复制链接链接已复制到粘贴板!
安装程序为 Satellite 安装程序管理的 DNS 服务公开了一个有限的功能集。例如,您只能配置单个转发 DNS 区域。作为替代方案,您可以首先使用安装程序管理的 DNS,稍后将其转换为自我管理的 DNS 服务器来绕过限制。
先决条件
- 您已在 Satellite 服务器或 Capsule 服务器主机上安装和配置了 DNS 服务。
- DNS 服务支持 RFC 2136兼容更新
流程
在 Satellite 服务器或 Capsule 服务器上设置本地的、自我管理的 DNS 服务:
satellite-installer \ --foreman-proxy-dns true \ --foreman-proxy-dns-provider nsupdate \ --foreman-proxy-dns-managed false \ --foreman-proxy-dns-server "127.0.0.1"
# satellite-installer \ --foreman-proxy-dns true \ --foreman-proxy-dns-provider nsupdate \ --foreman-proxy-dns-managed false \ --foreman-proxy-dns-server "127.0.0.1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 1.8 节 “将 DNS 服务与域和子网关联”。
1.4. 集成通用 RFC 2136 兼容远程 DNS 服务器 复制链接链接已复制到粘贴板!
如果您的网络中有一个 DNS 服务,且它支持 RFC 2136 兼容动态更新,您可以将该服务集成到 Satellite 服务器中。该集成可让您继续使用现有的 DNS 服务器,Satellite 在其生命周期内管理主机的 DNS 记录。
通过这种集成,Satellite 使用事务签名(TSIG)密钥向 DNS 服务器进行身份验证,并使用 nsupdate 工具来管理 DNS 记录。
先决条件
- 远程 DNS 服务已配置,可以查询。
- 远程 DNS 服务支持 RFC 2136 兼容动态更新
-
连接到远程 DNS 服务器的远程名称守护进程控制(RNDC)密钥文件放置在 Satellite 服务器或 Capsule 服务器上的
/etc/foreman-proxy/rndc.key中。
流程
更新
/etc/foreman-proxy/rndc.key的权限,以启用foreman-proxy组的成员读取此文件:chown -v root:foreman-proxy /etc/foreman-proxy/rndc.key chmod -v 640 /etc/foreman-proxy/rndc.key
# chown -v root:foreman-proxy /etc/foreman-proxy/rndc.key # chmod -v 640 /etc/foreman-proxy/rndc.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 恢复
/etc/foreman-proxy/rndc.key上的 SELinux 上下文:restorecon -v /etc/foreman-proxy/rndc.key
# restorecon -v /etc/foreman-proxy/rndc.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:验证您可以使用密钥文件手动管理 DNS 条目:
创建测试 DNS 条目。例如,在
192.168.25.1的 DNS 服务器上带有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/foreman-proxy/rndc.key
# 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/foreman-proxy/rndc.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证您可以查询新的 DNS 条目:
host test.example.com 192.168.25.1
# host test.example.com 192.168.25.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果成功解析,请删除测试 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/foreman-proxy/rndc.key
# 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/foreman-proxy/rndc.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确认 DNS 条目已被删除:
host test.example.com 192.168.25.1
# host test.example.com 192.168.25.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果命令返回
Host test.example.com not found: 3 (NXDOMAIN),则记录已被成功删除。
将 Satellite 服务器或 Capsule 服务器配置为使用 DNS 服务器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 1.8 节 “将 DNS 服务与域和子网关联”。
1.5. 将身份管理 DNS 与 TSIG 身份验证集成 复制链接链接已复制到粘贴板!
如果您使用身份管理来集中管理域中的主机,您可以将身份管理 DNS 服务集成到 Satellite 服务器中。该集成可让您继续使用现有的身份管理 DNS 服务,Satellite 在其生命周期内管理主机的 DNS 记录。
如果 Satellite 服务器或胶囊服务器不是身份管理域的成员,请使用事务签名(TSIG)密钥来向 DNS 服务器进行身份验证。与通用安全服务事务签名(GSS-TSIG)身份验证相比,这个方法提供了较低的安全性和密钥管理工作。如需更多信息,请参阅 第 1.6 节 “将身份管理 DNS 与 GSS-TSIG 身份验证集成”。
先决条件
- 身份管理服务器已部署和功能。
- 身份管理服务器上的防火墙允许访问所需的端口。请参阅 Red Hat Enterprise Linux 9 安装身份管理指南中的身份管理 端口要求。
-
在身份管理服务器上具有
root访问权限。
流程
在身份管理服务器上执行以下步骤:
在
/etc/named.conf文件的顶部插入以下设置:include "/etc/rndc.key"; controls { inet Identity Management_server_ip_address port 953 allow { Satellite_ip_address; } keys { "rndc-key"; }; };include "/etc/rndc.key"; controls { inet Identity Management_server_ip_address port 953 allow { Satellite_ip_address; } keys { "rndc-key"; }; };Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新载入
指定的服务:systemctl reload named
# systemctl reload namedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在身份管理 Web UI 中:
- 进入 Network Services > DNS > DNS Zones
- 单击区域的名称。
- 打开 Settings 选项卡。
在 BIND update policy 字段中输入:
grant "rndc-key" zonesub ANY;
grant "rndc-key" zonesub ANY;Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 Dynamic update 设置为 True。
- 点 Update 保存更改。
- 在 Satellite 服务器或 Capsule 服务器中配置动态 DNS 更新。如需更多信息,请参阅 第 1.4 节 “集成通用 RFC 2136 兼容远程 DNS 服务器”。
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 的端口要求。
流程
在作为身份管理域成员的主机上,为
admin用户获取 Kerberos ticket:kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在身份管理服务器上创建一个新的 Kerberos 主体 Satellite 服务器用于身份验证:
ipa service-add capsule/satellite.example.com
# ipa service-add capsule/satellite.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:添加一个 forward DNS 区:
ipa dnszone-add example.com
# ipa dnszone-add example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 显示转发区的 BIND 更新策略:
ipa dnszone-show example.com --all | \ grep "BIND update policy"
# ipa dnszone-show example.com --all | \ grep "BIND update policy"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
BIND update policy: grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;
BIND update policy: grant EXAMPLE.COM krb5-self * A; grant EXAMPLE.COM krb5-self * AAAA; grant EXAMPLE.COM krb5-self * SSHFP;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意设置的值。
更新 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;"
# 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 Copied! Toggle word wrap Toggle overflow 这个命令修改区设置,如下所示:
- 启用动态区更新。
- 如果在转发区中更新 A 或 AAAA 记录,身份管理会更新反向 DNS 区域中对应的 PTR 记录。
- 上一步中创建的 Kerberos 主体有权修改任何类型的任何数据记录。请注意,您必须将此设置附加到现有值中。
可选:添加反向 DNS 区:
ipa dnszone-add 0.168.192.in-addr.arpa
# ipa dnszone-add 0.168.192.in-addr.arpaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 显示反向区的 BIND 更新策略:
ipa dnszone-show 0.168.192.in-addr.arpa --all | \ grep "BIND update policy"
# ipa dnszone-show 0.168.192.in-addr.arpa --all | \ grep "BIND update policy"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
BIND update policy: grant EXAMPLE.COM krb5-subdomain 0.168.192.in-addr.arpa. PTR;
BIND update policy: grant EXAMPLE.COM krb5-subdomain 0.168.192.in-addr.arpa. PTR;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意设置的值。
更新反向区设置:
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;"
# 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 Copied! Toggle word wrap Toggle overflow 请注意,您必须将更新策略附加到现有值中。
1.6.2. 配置用于身份管理的 Capsules 复制链接链接已复制到粘贴板!
准备身份管理 DNS 服务器后,如 第 1.6.1 节 “配置身份管理以用于 Satellite 服务器” 所述,将 DNS 服务器集成到 Satellite 服务器或 Capsule 服务器中。
先决条件
- 您可以将主机的 DNS 搜索域设置为 Identity Management DNS 域。
-
您知道主机应该用来向身份管理 DNS 服务器进行身份验证的 Kerberos 主体,如
capsule/satellite.example.com。
流程
如果您的 Satellite 服务器或 Capsule 服务器还没有是身份管理域的成员:
安装
ipa-client软件包:satellite-maintain packages install ipa-client
# satellite-maintain packages install ipa-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装身份管理客户端:
ipa-client-install
# ipa-client-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 按照屏幕提示进行操作。
为
admin用户获取 Kerberos ticket:kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除
/etc/foreman-proxy/dns.keytab文件:rm --force /etc/foreman-proxy/dns.keytab
# rm --force /etc/foreman-proxy/dns.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为您的胶囊获取 Kerberos keytab 文件,并将其存储在
/etc/foreman-proxy/dns.keytab文件中:ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -k /etc/foreman-proxy/dns.keytab
# ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -k /etc/foreman-proxy/dns.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要当将 keytab 添加到与服务中原始系统相同的主机名时,请将
-r选项传给ipa-getkeytab命令,以防止生成新凭证并在原始系统上呈现凭证无效。将
/etc/foreman-proxy/dns.keytab的所有者和组设置为foreman-proxy:chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
# chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytabCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
/etc/foreman-proxy/dns.keytab文件是否有效:使用该文件获取 Kerberos ticket:
kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COM
# kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 Kerberos ticket:
klist
# klistCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
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
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.COMCopy to Clipboard Copied! Toggle word wrap Toggle overflow
配置 Satellite 服务器或 Capsule 服务器以连接到身份管理 DNS 服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 1.8 节 “将 DNS 服务与域和子网关联”。
1.7. 集成 Infoblox DNS 复制链接链接已复制到粘贴板!
如果您的网络中有一个 Infoblox 设备,您可以使用 Infoblox Web API (WAPI)此服务集成到 Satellite 服务器和胶囊服务器中,则集成可让您继续使用现有的 DNS 服务器,并且 Satellite 在其生命周期内管理 DNS 记录。
限制:
- 您只能在单个视图中管理 DNS 条目,创建后您无法编辑视图。
- Satellite 服务器使用标准 HTTPS Web API 与 Infoblox 通信。默认情况下,它只与一个节点通信。如果您需要高可用性,请在 Infoblox 中配置此功能。
- 您不能将 Satellite IP 地址管理(IPAM)功能集成到 Infoblox 中。
先决条件
-
您有带有角色
DHCP Admin和DNS Admin的 Infoblox 帐户。 - Infoblox 角色具有权限或属于 admin 组,允许帐户通过 Infoblox API 执行任务。
流程
从 Infoblox 服务器下载证书,并将其存储在
/etc/pki/ca-trust/source/anchors/infoblox.crt文件中:openssl s_client -showcerts -connect infoblox.example.com:443 </dev/null | \ openssl x509 -text >/etc/pki/ca-trust/source/anchors/infoblox.crt
# openssl s_client -showcerts -connect infoblox.example.com:443 </dev/null | \ openssl x509 -text >/etc/pki/ca-trust/source/anchors/infoblox.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 主机名必须与 X.509 证书中的 Infoblox 应用程序匹配。
将 Infoblox 证书添加到系统信任存储中:
update-ca-trust extract
# update-ca-trust extractCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在对 Infoblox API 的查询中使用它来测试 CA 证书:
curl -u admin:password https://infoblox.example.com/wapi/v2.0/network
# curl -u admin:password https://infoblox.example.com/wapi/v2.0/networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正响应示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 Satellite 服务器或 Capsule 服务器以连接到 Infoblox DNS 服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您在 Infoblox DNS 中使用
默认视图,请省略--foreman-proxy-plugin-dns-infoblox-dns-view选项。- 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 1.8 节 “将 DNS 服务与域和子网关联”。
1.8. 将 DNS 服务与域和子网关联 复制链接链接已复制到粘贴板!
配置或更改 DNS 供应商后,您必须在 Satellite Web UI 中更新每个受影响的 Capsule 的配置。
先决条件
- 已配置了 DNS 供应商。
流程
配置域:
- 在 Satellite Web UI 中,进入到 Infrastructure > Domains。
- 选择域名。
- 在 Domain 选项卡中,确保将 DNS Capsule 设置为连接子网的 Capsule。
配置子网:
- 导航到 Infrastructure > Subnets。
- 选择子网名称。
- 在 Domains 选项卡中,选择在子网上有效的域。
- 在 Capsules 选项卡中,确保将 Reverse DNS Capsule 设置为子网连接的 Capsule。
- 点 Submit。
1.9. 为集成禁用 DNS 复制链接链接已复制到粘贴板!
如果要手动管理 DNS 服务,而不将其集成到 Satellite 服务器中,您必须防止 Satellite 在操作系统中维护此服务,并禁用编排以避免错误。
在 Satellite 中禁用 DNS 不会删除操作系统上的相关后端服务。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets。
对于与 DNS Capsule 关联的每个子网:
- 选择子网。
- 在 Capsules 选项卡上,清除 Reverse DNS Capsule 字段。
- 点 Submit。
- 导航到 Infrastructure > Domains。
对于与 DNS Capsule 关联的每个域:
- 选择域。
- 清除 DNS Capsule 字段。
- 点 Submit。
在 Satellite 服务器上,输入:
satellite-installer --foreman-proxy-dns false
# satellite-installer --foreman-proxy-dns falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当给定子网和域的 Capsule 没有设置时,Satellite 不会执行编配。当您禁用 Capsule 关联时,如果没有预期的记录和配置文件,现有主机的编配命令可能会失败。
第 2 章 配置 DHCP 集成 复制链接链接已复制到粘贴板!
您可以将 DHCP 与 Satellite 集成,以便在置备主机期间自动管理 DHCP 服务器上的 IP 租期和引导配置。这有助于简化主机的自动调配。
2.1. DHCP 服务供应商 复制链接链接已复制到粘贴板!
Capsule 支持以下 DHCP 供应商,可用于将 Satellite 与现有 DHCP 基础架构集成或部署新 DHCP 基础架构:
dhcp_isc- 使用对象管理应用程序编程接口(OMAPI)在 ISC DHCP 服务器上管理 IP 租期。请参阅 第 2.2 节 “启用安装程序管理的 DHCP 服务”。
dhcp_remote_isc- 使用 OMAPI 在远程 ISC dhcpd 服务器上管理 IP 租期。此供应商要求您通过网络共享租期,例如与 NFS 一起共享。请参阅 第 2.3 节 “集成远程 ISC DHCP 服务器”。
dhcp_infoblox- 在 Infoblox DHCP 服务器上管理 IP 租期。请参阅 第 2.4 节 “集成 Infoblox DHCP”。
2.2. 启用安装程序管理的 DHCP 服务 复制链接链接已复制到粘贴板!
如果您的网络中没有 DHCP 服务器,您可以使用安装程序管理的 DHCP 服务。此功能可让您为 DHCP 服务提供低维护开销。
先决条件
您知道以下网络信息:
- DHCP 应该管理的 IP 地址范围
- 子网中默认网关的 IP 地址
- 子网的名称服务器的 IP 地址
流程
将 Satellite 服务器或 Capsule 服务器配置为 DHCP 服务器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。请参阅 第 2.5 节 “将 DHCP 服务与子网关联”。
可选:使用对象管理应用程序编程接口(OMAPI)密钥保护 Capsule 上的
dhcpdAPI:安装所需的软件包:
satellite-maintain packages install bind-utils
# satellite-maintain packages install bind-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成 OMAPI 密钥:
tsig-keygen -a hmac-md5 omapi_key key "omapi_key" { algorithm hmac-md5; secret "hJBge7QC5AaUkRVsZmFUlg=="; };# tsig-keygen -a hmac-md5 omapi_key key "omapi_key" { algorithm hmac-md5; secret "hJBge7QC5AaUkRVsZmFUlg=="; };Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将
dhcpdAPI 密钥添加到 Capsule 配置中:satellite-installer \ --foreman-proxy-dhcp-key-name "omapi_key" \ --foreman-proxy-dhcp-key-secret "key_secret"
# satellite-installer \ --foreman-proxy-dhcp-key-name "omapi_key" \ --foreman-proxy-dhcp-key-secret "key_secret"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 集成远程 ISC DHCP 服务器 复制链接链接已复制到粘贴板!
如果您的网络中有一个 ISC DHCP 服务器,但没有在与 Satellite 服务器相同的主机上,您可以将该服务集成到 Satellite 服务器中。该集成可让您继续使用现有的 DHCP 服务器,Satellite 在置备主机期间管理 DHCP 服务器上的 IP 租期和引导配置。
通过这种集成,Satellite 使用对象管理应用程序编程接口(OMAPI)密钥来更新租期和网络文件系统(NFS)协议来访问 ISC DHCP 服务器的配置文件和租期数据库。
2.3.1. 在 ISC DHCP 中启用 OMAPI 身份验证 复制链接链接已复制到粘贴板!
现有远程 ISC DHCP 服务的集成需要您在 DHCP 服务中启用对象管理应用程序编程接口(OMAPI)。Satellite 使用 OMAPI 远程管理 DHCP 服务器对象。
先决条件
- ISC DHCP 服务已部署且可以正常工作。
- DHCP 服务器上的防火墙允许访问 DHCP 服务(端口 67/UDP)。
流程
创建安全令牌:
tsig-keygen -a hmac-md5 omapi_key
# tsig-keygen -a hmac-md5 omapi_keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,Satellite 仅支持 OMAPI 验证的
hmac-md5算法。输出示例:
key "omapi_key" { algorithm hmac-md5; secret "4z1jwYO0RGUTJbWDepFBdg=="; };key "omapi_key" { algorithm hmac-md5; secret "4z1jwYO0RGUTJbWDepFBdg=="; };Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/dhcp/dhcpd.conf文件,并附加以下设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例中指定的设置包括:
key omapi_key-
定义密钥、算法和加密密码。在这个指令中使用
tsig-keygen命令的输出。 OMAPI-port 7911;- 在 ISC DHCP 中启用 OMAPI 协议,并定义协议的端口。
omapi-key omapi_key-
定义 OMAPI 接口使用的密钥的名称。该名称必须与您在
tsig-keygen命令中指定的名称匹配。
重启
dhcpd服务:systemctl restart dhcpd
# systemctl restart dhcpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
firewalld服务中打开 OMAPI 端口:firewall-cmd --add-port=7911/tcp
# firewall-cmd --add-port=7911/tcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使更改具有持久性:
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3.2. 通过 NFS 共享 DHCP 配置文件和租期数据库 复制链接链接已复制到粘贴板!
现有远程 ISC DHCP 服务的集成需要您通过网络共享服务的配置文件和租期数据库。例如,您可以使用 NFS 服务。然后,Satellite 使用 NFS 访问配置设置,如子网定义。对租期数据库的读取访问权限可确保有效访问所有租期信息,这些信息无法通过 ISC DHCP 对象管理应用程序编程接口(OMAPI)提供。
先决条件
- ISC DHCP 服务已部署且可以正常工作。
流程
在 Satellite 服务器上,确定
foreman-proxy用户的 UID 和主 GID:id -u foreman-proxy id -g foreman-proxy
# id -u foreman-proxy # id -g foreman-proxyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 下一步需要这些 ID。
在 DHCP 服务器上,通过 NFS 共享 DHCP 服务和租期数据库:
使用与 Satellite 服务器上相同的组 ID 创建
foreman-proxy组:groupadd -g My_User_ID foreman-proxy
# groupadd -g My_User_ID foreman-proxyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用与 Satellite 服务器上相同的用户 ID 和主组 ID 创建
foreman-proxy用户:useradd -u My_User_ID -g My_Group_ID -s /sbin/nologin foreman-proxy
# useradd -u My_User_ID -g My_Group_ID -s /sbin/nologin foreman-proxyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保
foreman-proxy组的成员可以访问 DHCP 服务的配置文件:chgrp -R foreman-proxy /etc/dhcp/ chmod g+rx /etc/dhcp/ chmod g+r /etc/dhcp/dhcpd.conf
# chgrp -R foreman-proxy /etc/dhcp/ # chmod g+rx /etc/dhcp/ # chmod g+r /etc/dhcp/dhcpd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 安装
nfs-server软件包:dnf install nfs-utils
# dnf install nfs-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/exports文件,并为/etc/dhcp/和/var/lib/dhcpd/目录附加共享条目:/etc/dhcp satellite.example.com(ro) /var/lib/dhcpd satellite.example.com(ro)
/etc/dhcp satellite.example.com(ro) /var/lib/dhcpd satellite.example.com(ro)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以只读模式共享目录,仅与 Satellite 服务器或胶囊服务器共享。
启用并启动 NFS 服务器服务:
systemctl enable --now nfs-server
# systemctl enable --now nfs-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
firewalld服务中打开 NFSv4 端口:firewall-cmd --add-service=nfs
# firewall-cmd --add-service=nfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使更改具有持久性:
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow
后续步骤
- 默认情况下,NFS 协议是未加密的。如果您需要加密连接,请在完成此步骤后通过 TLS 或 Kerberos 身份验证配置 NFS。如需更多信息,请参阅 Red Hat Enterprise Linux 9 配置和使用网络文件服务中的 使用 Kerberos 配置 NFS 服务器并使用 Kerberos 设置 NFS 服务器。https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_using_network_file_services/deploying-an-nfs-server_configuring-and-using-network-file-services#configuring-an-nfs-server-with-tls-support_deploying-an-nfs-server
2.3.3. 配置 Satellite 服务器或 Capsule 服务器以用于 ISC DHCP 复制链接链接已复制到粘贴板!
准备 DHCP 服务器后,将 ISC DHCP 服务器集成到 Satellite 服务器或 Capsule 服务器中。
先决条件
- 您在 ISC DHCP 中启用了对象管理应用程序编程接口(OMAPI)身份验证。如需更多信息,请参阅 第 2.3.1 节 “在 ISC DHCP 中启用 OMAPI 身份验证”。
- 您可以通过 NFS 共享 DHCP 配置和租期数据库。如需更多信息,请参阅 第 2.3.2 节 “通过 NFS 共享 DHCP 配置文件和租期数据库”。
流程
安装所需的软件包:
satellite-maintain packages install nfs-utils
# satellite-maintain packages install nfs-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建稍后挂载 NFS 共享的目录:
mkdir -p \ /srv/nfs/etc/dhcp \ /srv/nfs/var/lib/dhcpd
# mkdir -p \ /srv/nfs/etc/dhcp \ /srv/nfs/var/lib/dhcpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/fstab文件,并为 NFS 共享添加条目,以便在系统引导时自动挂载它们:dhcp_server_fqdn:/etc/dhcp /srv/nfs/etc/dhcp nfs ro,auto,context="system_u:object_r:dhcp_etc_t:s0" 0 0 dhcp_server_fqdn:/var/lib/dhcpd /srv/nfs/var/lib/dhcpd nfs ro,auto,context="system_u:object_r:dhcpd_state_t:s0" 0 0
dhcp_server_fqdn:/etc/dhcp /srv/nfs/etc/dhcp nfs ro,auto,context="system_u:object_r:dhcp_etc_t:s0" 0 0 dhcp_server_fqdn:/var/lib/dhcpd /srv/nfs/var/lib/dhcpd nfs ro,auto,context="system_u:object_r:dhcpd_state_t:s0" 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新载入
systemd,以便该服务使用更新的/etc/fstab文件:systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 挂载 NFS 共享:
mount /srv/nfs/etc/dhcp/ mount /srv/nfs/var/lib/dhcpd/
# mount /srv/nfs/etc/dhcp/ # mount /srv/nfs/var/lib/dhcpd/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
foreman-proxy用户可以访问 NFS 服务器上的文件。例如:显示
/srv/nfs/etc/dhcp/dhcpd.conf文件的前 5 行:su - foreman-proxy -c 'head -5 /srv/nfs/etc/dhcp/dhcpd.conf'
$ su - foreman-proxy -c 'head -5 /srv/nfs/etc/dhcp/dhcpd.conf'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示
/srv/nfs/var/lib/dhcpd/dhcpd.leases文件的前 5 行:su - foreman-proxy -c 'head -5 /srv/nfs/var/lib/dhcpd/dhcpd.leases'
$ su - foreman-proxy -c 'head -5 /srv/nfs/var/lib/dhcpd/dhcpd.leases'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将 Satellite 服务器或 Capsule 服务器配置为使用 DHCP 服务器:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 2.5 节 “将 DHCP 服务与子网关联”。
2.4. 集成 Infoblox DHCP 复制链接链接已复制到粘贴板!
如果您的网络中有一个 Infoblox 设备,您可以使用 Infoblox Web API (WAPI)将该服务集成到 Satellite 服务器和 Capsule 服务器中。该集成可让您继续使用现有的 DHCP 服务器,Satellite 在置备主机期间管理 DHCP 服务器上的 IP 租期和引导配置。
限制:
- 您只能在单个网络和查看中管理 DHCP 条目,您不能在创建后编辑视图。
- Satellite 服务器使用标准 HTTPS Web API 与 Infoblox 通信。默认情况下,它只与一个节点通信。如果您需要高可用性,请在 Infoblox 中配置此功能。
先决条件
-
您有带有角色
DHCP Admin和DNS Admin的 Infoblox 帐户。 - Infoblox 角色具有权限或属于 admin 组,允许帐户通过 Infoblox API 执行任务。
流程
从 Infoblox 服务器下载证书,并将其存储在
/etc/pki/ca-trust/source/anchors/infoblox.crt文件中:openssl s_client -showcerts -connect infoblox.example.com:443 </dev/null | \ openssl x509 -text >/etc/pki/ca-trust/source/anchors/infoblox.crt
# openssl s_client -showcerts -connect infoblox.example.com:443 </dev/null | \ openssl x509 -text >/etc/pki/ca-trust/source/anchors/infoblox.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 主机名必须与 X.509 证书中的 Infoblox 应用程序匹配。
将 Infoblox 证书添加到系统信任存储中:
update-ca-trust extract
# update-ca-trust extractCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在对 Infoblox API 的查询中使用它来测试 CA 证书:
curl -u admin:password https://infoblox.example.com/wapi/v2.0/network
# curl -u admin:password https://infoblox.example.com/wapi/v2.0/networkCopy to Clipboard Copied! Toggle word wrap Toggle overflow 正响应示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置 Satellite 服务器或 Capsule 服务器以连接到 Infoblox DHCP 服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果要将 DHCP 和 DNS Infoblox 模块一起使用,请只使用
fixedaddress记录类型配置 DHCP Infoblox 模块。在这种情况下不支持主机记录类型,因为它会导致冲突,您无法在 Satellite 中重命名主机。- 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 2.5 节 “将 DHCP 服务与子网关联”。
2.5. 将 DHCP 服务与子网关联 复制链接链接已复制到粘贴板!
配置或更改 DHCP 提供程序后,您必须在 Satellite Web UI 中更新每个受影响的 Capsule 的配置。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets。
- 选择子网名称。
- 在 Subnet 选项卡中,将 IPAM 设置为 DHCP。
- 在 Capsule 选项卡上,将 DHCP Proxy 设置为您的 Capsule。
- 点 Submit。
2.6. 为集成禁用 DHCP 复制链接链接已复制到粘贴板!
如果要手动管理 DHCP 服务,且没有将其集成到 Satellite 服务器中,您必须防止 Satellite 在操作系统中维护此服务,并禁用编排以避免错误。
在 Satellite 中禁用 DHCP 不会删除操作系统上的相关后端服务。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets。
对于与 DHCP Capsule 关联的每个子网:
- 选择子网。
- 在 Capsules 选项卡上,清除 DHCP Capsule 字段。
- 点 Submit。
在 Satellite 服务器和 Capsule 服务器上,输入:
satellite-installer --foreman-proxy-dhcp false
# satellite-installer --foreman-proxy-dhcp falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当为给定子网设置胶囊时,Satellite 不执行编排。当您禁用 Capsule 关联时,如果没有预期的记录和配置文件,现有主机的编配命令可能会失败。
2.7. DHCP 问题故障排除 复制链接链接已复制到粘贴板!
Satellite 可以在 Satellite 服务器或 Capsule 服务器上管理 ISC DHCP 服务器。Satellite 可以列出、创建和删除 DHCP 保留和租期。但是,在 occasions 时可能会遇到一些问题。
没有同步 DHCP 记录
在 DHCP 编配期间发生错误时,Satellite 数据库中的 DHCP 记录和 DHCP 服务器可能不匹配。要解决这个问题,您必须将 Satellite 数据库中缺少的 DHCP 记录添加到 DHCP 服务器中,然后按照以下步骤从 DHCP 服务器中删除不需要的记录:
流程
要预览将添加到 DHCP 服务器的 DHCP 记录,请输入以下命令:
foreman-rake orchestration:dhcp:add_missing subnet_name=NAME
# foreman-rake orchestration:dhcp:add_missing subnet_name=NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您对上一步中的预览更改满意,请使用
perform=1参数输入上述命令来应用它们:foreman-rake orchestration:dhcp:add_missing subnet_name=NAME perform=1
# foreman-rake orchestration:dhcp:add_missing subnet_name=NAME perform=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要在 Satellite 中保留 DHCP 记录并同步 DHCP 服务器,您可以从 DHCP 服务器中删除不需要的 DHCP 记录。请注意,Satellite 假设所有受管 DHCP 服务器都不包含第三方记录,因此此步骤可能会删除这些意外的记录。要预览将从 DHCP 服务器中删除哪些记录,请输入以下命令:
foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME
# foreman-rake orchestration:dhcp:remove_offending subnet_name=NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您对上一步中的预览更改满意,请使用
perform=1参数输入上述命令来应用它们:foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME perform=1
# foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME perform=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
PXE 加载器选项更改
为现有主机更改 PXE loader 选项时,这会导致 DHCP 冲突。唯一的临时解决方案是覆盖 DHCP 条目。
DHCP 文件的权限不正确
操作系统更新可以更新 dhcpd 软件包。这会导致重要目录和文件的权限重置,以便 DHCP Capsule 无法读取所需信息。
更改 DHCP 胶囊条目
Satellite 仅对分配给设置了 DHCP 胶囊集的主机管理 DHCP 记录。如果您创建主机,然后在尝试删除主机时清除或更改 DHCP Capsule,则操作会失败。
如果您在没有设置 DHCP Capsule 的情况下创建主机,然后尝试设置 DHCP Capsule,这会导致 DHCP 冲突。
删除了 dhcpd.leases 文件中的主机条目
对 DHCP 租期的任何更改都会被附加到 dhcpd.leases 文件的末尾。由于条目附加到文件,因此可能同时存在于 dhcpd.leases 文件中两个或更多相同租期的条目。当同一租期有两个或多个条目时,文件中的最后一个条目将具有优先权。租期文件中的组、子组和主机声明会以同样的方式处理。如果删除了租期,则 { deleted; } 会附加到声明中。
第 3 章 配置 TFTP 集成 复制链接链接已复制到粘贴板!
您可以将 TFTP 与 Satellite 集成,以通过网络引导操作系统的设置来执行无人值守安装。
3.1. 启用安装程序管理的 TFTP 服务 复制链接链接已复制到粘贴板!
如果您的网络中没有 TFTP 服务器,您可以使用安装程序管理的 TFTP 服务来执行无人值守安装。通过安装程序管理的 TFTP 服务,您可以运行具有低维护工作的 TFTP 服务器,因为 Satellite 完全管理 TFTP 服务,包括该服务上的文件。
流程
将 Satellite 服务器或 Capsule 服务器配置为 TFTP 服务器:
satellite-installer \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true
# satellite-installer \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. 集成通用 TFTP 服务器 复制链接链接已复制到粘贴板!
如果您的网络中已有 TFTP 服务器,您可以将该服务集成到 Satellite 中。该集成可让您继续使用现有的 TFTP 服务器。通过这种集成,Satellite 使用网络文件系统(NFS)协议来访问 TFTP 服务的根目录。
如果您更喜欢在 TFTP 服务器上管理文件的低维护解决方案,请使用安装程序管理的 TFTP 服务。
3.2.1. 配置 Satellite 服务器以用于 tftp 复制链接链接已复制到粘贴板!
在准备好 TFTP 服务器后,将其集成到 Satellite 服务器或 Capsule 服务器中。
先决条件
-
您可以使用 NFS 在 TFTP 服务器中共享
/exports/var/lib/tftpboot。
流程
创建稍后挂载 NFS 共享的目录:
mkdir -p /mnt/nfs/var/lib/tftpboot
# mkdir -p /mnt/nfs/var/lib/tftpbootCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/fstab文件,并为 NFS 共享添加条目,以便在系统引导时自动挂载它们:tftp_server_fqdn:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0
tftp_server_fqdn:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 挂载 NFS 共享:
mount /mnt/nfs/var/lib/tftpboot/
# mount /mnt/nfs/var/lib/tftpboot/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 Satellite 服务器或 Capsule 服务器配置为使用 TFTP 服务器:
satellite-installer \ --foreman-proxy-tftp true \ --foreman-proxy-managed false \ --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot \ --foreman-proxy-tftp-servername tftp_server_fqdn
# satellite-installer \ --foreman-proxy-tftp true \ --foreman-proxy-managed false \ --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot \ --foreman-proxy-tftp-servername tftp_server_fqdnCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于每个受影响的胶囊,在卫星 Web UI 中更新该胶囊的配置。如需更多信息,请参阅 第 3.3 节 “将 TFTP 服务与子网关联”。
3.3. 将 TFTP 服务与子网关联 复制链接链接已复制到粘贴板!
配置或更改 TFTP 提供程序后,您必须在 Satellite Web UI 中更新每个受影响的 Capsule 的配置。
先决条件
- 已配置了 TFTP 服务器。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets。
- 选择子网名称。
- 在 Capsules 选项卡上,为 TFTP 选择 Capsule。
- 点 Submit。
3.4. 为集成禁用 TFTP 复制链接链接已复制到粘贴板!
如果要手动管理 TFTP 服务,而不将其集成到 Satellite 中,您必须防止 Satellite 在操作系统中维护此服务,并禁用编排以避免错误。
在 Satellite 中禁用 TFTP 不会删除操作系统上的相关后端服务。
流程
- 在 Satellite Web UI 中,进入到 Infrastructure > Subnets。
对于与 TFTP Capsule 关联的每个子网:
- 选择子网。
- 在 Capsules 选项卡上,清除 TFTP Capsule 字段。
- 点 Submit。
在 Satellite 服务器上,输入:
satellite-installer --foreman-proxy-tftp false
# satellite-installer --foreman-proxy-tftp falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意当为给定子网设置胶囊时,Satellite 不执行编排。当您禁用 Capsule 关联时,如果没有预期的记录和配置文件,现有主机的编配命令可能会失败。