在断开连接的网络环境中安装 Satellite 服务器
安装在没有互联网连接的网络中部署的 Red Hat Satellite Server
摘要
对红帽文档提供反馈
我们感谢您对文档提供反馈信息。请让我们了解如何改进文档。
关于特定内容的简单评论:
确保以 Multi-page HTML 格式查看文档。
另外,确定 Feedback 按钮出现在文档页的右上方。
- 用鼠标指针高亮显示您想评论的文本部分。
- 点在高亮文本上弹出的 Add Feedback。
- 按照显示的步骤操作。
要通过 Bugzilla 提交反馈,请创建一个新的 ticket:
- 进入 Bugzilla 网站。
- 在 Component 中选择 Documentation。
- 在 Description 中输入您要提供的信息。包括文档相关部分的链接。
- 点 Submit Bug。
第 1 章 为安装准备您的环境
在安装 Satellite 前,请确保您的环境满足以下要求。
1.1. 系统要求
以下要求适用于联网的基础操作系统:
- x86_64 architecture
- Red Hat Enterprise Linux 8 或 Red Hat Enterprise Linux 7 Server 的最新版本
- 至少 4 核 2.0 GHz CPU
- Satellite 服务器需要至少 20 GB RAM 才能正常工作。另外,还建议使用至少 4 GB RAM swap 空间。比最小值小的 RAM 运行的 Satellite 可能无法正常工作。
- 唯一主机名,可以包含小写字母、数字、句点(.)和连字符(-)
- 当前的 Red Hat Satellite 订阅
- 管理用户(root)访问权限
- 系统 umask 为 0022
- 使用完全限定域名进行全正向和反向 DNS 解析
卫星服务器和胶囊服务器不支持主机名中的短名称。在使用自定义证书时,自定义证书的通用名称(CN)必须是完全限定域名(FQDN)而不是短名称。这不适用于 Satellite 的客户端。
在安装卫星服务器前,请确保您的环境满足安装要求。
除了运行卫星服务器外,必须在全新调配的系统上安装卫星服务器,该系统中不提供其他功能。全新置备的系统不得由外部身份提供程序提供以下用户,以避免与 Satellite 服务器创建的本地用户冲突:
- Apache
- foreman
- foreman-proxy
- Postgres
- Pulp
- puppet
- puppetserver
- qdrouterd
- qpidd
- tomcat
认证的虚拟机监控程序
卫星服务器在支持运行 Red Hat Enterprise Linux 的虚拟机监控程序上运行的物理系统和虚拟机均完全支持。有关认证的虚拟机监控程序的更多信息,请参阅 哪个管理程序经过认证来运行 Red Hat Enterprise Linux?。
SELinux 模式
必须启用 SELinux,可以是 enforcing 或 permissive 模式。不支持使用禁用 SELinux 进行安装。
FIPS 模式
您可以在在 FIPS 模式中运行的 Red Hat Enterprise Linux 系统上安装 Satellite 服务器。如需更多信息,请参阅 Red Hat Enterprise Linux 安全强化指南中的 安装启用了 FIPS 模式的 RHEL 8 系统。有关 Red Hat Enterprise Linux 7 系统 FIPS 的详情,请参考 Red Hat Enterprise Linux 安全指南 中的 启用 FIPS 模式。
1.2. 存储要求
下表详细介绍了特定目录的存储要求。这些值基于预期的用例情景,可能视各个环境而异。
运行时大小通过 Red Hat Enterprise Linux 6、7 和 8 个同步功能来衡量。
1.2.1. Red Hat Enterprise Linux 8
表 1.1. Satellite 服务器安装的存储要求
| 目录 | 安装大小 | 运行时大小 |
|---|---|---|
| /var/log/ | 10 MB | 10 GB |
| /var/lib/pgsql | 100 MB | 20 GB |
| /usr | 3 GB | 不适用 |
| /opt/puppetlabs | 500 MB | 不适用 |
| /var/lib/pulp/ | 1 MB | 300 GB |
| /var/lib/qpidd/ | 25 MB | 不适用 |
1.2.2. Red Hat Enterprise Linux 7
表 1.2. Satellite 服务器安装的存储要求
| 目录 | 安装大小 | 运行时大小 |
|---|---|---|
| /var/log/ | 10 MB | 10 GB |
| /var/opt/rh/rh-postgresql12/lib/pgsql | 100 MB | 20 GB |
| /usr | 3 GB | 不适用 |
| /opt | 3 GB | 不适用 |
| /opt/puppetlabs | 500 MB | 不适用 |
| /var/lib/pulp/ | 1 MB | 300 GB |
| /var/lib/qpidd/ | 25 MB | 不适用 |
1.3. 存储指南
在安装卫星服务器以提高效率时,请考虑以下指南:
-
如果将
/tmp目录挂载为单独的文件系统,则必须使用/etc/fstab文件中的exec挂载选项。如果/tmp已通过noexec选项挂载,您必须将选项更改为exec并重新挂载文件系统。这是puppetserver服务正常工作的要求。 -
因为大多数 Satellite 服务器数据都存储在
/var目录中,所以在 LVM 存储中挂载/var可以帮助系统扩展。 -
/var/lib/qpidd/目录为每个由goferd服务管理的内容主机使用的时间稍超过 2 MB。例如: 10 000 内容主机需要在/var/lib/qpidd/中有 20 GB 磁盘空间。 -
为
/var/lib/pulp/目录使用高带宽、低延迟存储。因为红帽卫星具有许多 I/O 密集型操作,使用高延迟和低带宽存储会导致性能下降。确保您的安装有范围 60 - 80 兆字节每秒的速度。
您可以使用 fio 工具获取此数据。有关使用 fio 工具的更多信息,请参阅关于卫星操作的磁盘解决方案影响。
文件系统指南
- 不要使用 GFS2 文件系统作为输入-输出延迟过高。
日志文件存储
日志文件被写入 /var/log/messages/、 和 / var/log/httpd//var/lib/foreman-proxy/openscap/content/。您可以使用 logrotate 管理这些文件的大小。如需更多信息,请参阅 Red Hat Enterprise Linux 7 系统管理员指南中的日志轮转。https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-viewing_and_managing_log_files#s2-log_rotation
日志消息所需的存储量取决于您的安装和设置。
NFS 挂载的 SELinux 注意事项
当使用 NFS 共享挂载 /var/lib/pulp 目录时,SELinux 会阻断同步过程。要避免这种情况,请在文件系统表中添加以下行到 /etc/fstab 来指定 /var/lib/pulp 目录的 SELinux 上下文:
nfs.example.com:/nfsshare /var/lib/pulp nfs context="system_u:object_r:var_lib_t:s0" 1 2
如果 NFS 共享已被挂载,使用上述配置重新挂载它,并输入以下命令:
# restorecon -R /var/lib/pulp
重复的软件包
在不同存储库中重复的软件包仅在磁盘上存储一次。包含重复软件包的额外软件仓库不需要较少的存储。大量存储位于 /var/lib/pulp/ 目录中。这些端点不是手动配置的。确定 /var 文件系统中有存储以防止存储问题。
Software Collections
软件集合安装在 /opt/rh/ 和 /opt/theforeman/ 目录中。
安装至 /opt 目录需要 root 用户写入和执行权限。
符号链接
您不能对 /var/lib/pulp/ 使用符号链接。
1.4. 支持的操作系统
您可以从磁盘、本地 ISO 镜像、kickstart 或者红帽支持的任何其他方法安装操作系统。Red Hat Enterprise Linux 8 的最新版本支持 Red Hat Enterprise Linux 8 和 Red Hat Enterprise Linux 7 服务器,可在安装 Satellite 服务器时提供。不支持以前版本的 Red Hat Enterprise Linux,包括 EUS 或 z-stream。
安装程序支持以下操作系统,有软件包,并经过测试了部署 Satellite:
表 1.3. satellite-installer 支持的操作系统
| 操作系统 | 架构 | 备注 |
| Red Hat Enterprise Linux 8 | 仅限 x86_64 | |
| Red Hat Enterprise Linux 7 | 仅限 x86_64 |
在安装 Satellite 前,请应用所有操作系统更新(如果可能)。
Red Hat Enterprise Linux 需要带有 @Base 软件包组的 Red Hat Enterprise Linux 安装,且没有其他软件包的修改,且不需要第三方配置或软件来直接进行服务器直接操作。这种限制包括强化和其它非红帽安全软件。如果您的基础架构需要此类软件,首先安装和验证完整的卫星服务器,然后在添加任何非红帽软件前创建系统的备份。
在新调配的系统上安装卫星服务器。
除了运行卫星服务器外,红帽不支持将系统用于任何其他内容。
1.5. 支持的浏览器
Satellite 支持 Firefox 和 Google Chrome 浏览器的最新版本。
卫星 Web UI 和命令行界面支持英语、葡萄牙语、简体中文、韩语、韩语、意大利语、西班牙语、俄语、法语和德语。
1.6. 端口和防火墙要求
若要使卫星架构的组件进行通信,请确保在基础操作系统中打开并释放所需的网络端口。您还必须在任何基于网络的防火墙中打开所需的网络端口。
使用此信息配置任何基于网络的防火墙。请注意,有些云解决方案必须经过特别配置,以允许计算机间的通信,因为它们与基于网络的防火墙类似隔离计算机。如果您使用基于应用程序的防火墙,请确保基于应用程序的防火墙允许所有在表中列出并在防火墙中已知的应用程序。如果可能,禁用应用程序检查并允许基于协议打开的端口通信。
集成胶囊
卫星服务器具有一个集成的胶囊,并且任何直接连接到卫星服务器的主机都是本节上下文中卫星的客户端。这包括运行胶囊服务器的基础操作系统。
胶囊的客户端
主机(即卫星的集成胶囊以外的客户端)不需要访问卫星服务器。有关 Satellite 拓扑和端口连接图的更多信息,请参阅规划 Red Hat Satellite 中的 胶囊网络。
所需端口可能会根据您的配置而改变。
下表描述了目的地端口和网络流量的方向:
表 1.4. Satellite 服务器传入流量
| 目的地端口 | 协议 | 服务 | 源 | 必需 | 描述 |
| 53 | TCP 和 UDP | DNS | DNS 服务器和客户端 | 名称解析 | DNS(可选) |
| 67 | UDP | DHCP | 客户端 | 动态 IP | DHCP(可选) |
| 69 | UDP | TFTP | 客户端 | TFTP 服务器(可选) | |
| 443 | TCP | HTTPS | Capsule | Red Hat Satellite API | 来自 Capsule 的通信 |
| 443, 80 | TCP | HTTPS、HTTP | 客户端 | 内容检索 | 内容 |
| 443, 80 | TCP | HTTPS、HTTP | Capsule | 内容检索 | 内容 |
| 443, 80 | TCP | HTTPS、HTTP | 客户端 | 内容主机注册 | 胶囊 CA RPM 安装 |
| 443 | TCP | HTTPS | Red Hat Satellite | 内容镜像 | 管理 |
| 443 | TCP | HTTPS | Red Hat Satellite | Capsule API | 智能代理功能 |
| 5646 | TCP | AMQP | Capsule | Katello 代理 | 将消息转发到卫星上的 Qpid 分配路由器(可选) |
| 5910 - 5930 | TCP | HTTPS | 浏览器 | 计算资源的虚拟控制台 | |
| 8000 | TCP | HTTP | 客户端 | 调配模板 | 客户端安装程序、iPXE 或 UEFI HTTP 引导的模板检索 |
| 8000 | TCP | HTTPS | 客户端 | PXE 引导 | 安装 |
| 8140 | TCP | HTTPS | 客户端 | Puppet 代理 | 客户端更新(可选) |
| 8443 | TCP | HTTPS | 客户端 | 内容主机注册 | 启动 上传事实 发送安装的软件包和追踪 |
| 9090 | TCP | HTTPS | 客户端 | OpenSCAP | 配置客户端 |
| 9090 | TCP | HTTPS | 发现的节点 | Discovery(发现) | 主机发现和置备 |
| 9090 | TCP | HTTPS | Red Hat Satellite | Capsule API | 胶囊功能 |
任何直接连接到卫星服务器的受管主机都是此上下文中的客户端,因为它是集成胶囊的客户端。这包括运行胶囊服务器的基础操作系统。
DHCP 胶囊将执行 ICMP ping 或 TCP echo 连接,从而尝试设置 DHCP IPAM 的子网,以查找是否考虑使用的 IP 地址是否可用。可以使用 satellite-installer --foreman-proxy-dhcp-ping-free-ip=false 来关闭此行为。
表 1.5. Satellite 服务器传出流量
| 目的地端口 | 协议 | 服务 | 目的地 | 必需 | 描述 |
|---|---|---|---|---|---|
| ICMP | ping | 客户端 | DHCP | 免费 IP 检查(可选) | |
| 7 | TCP | echo | 客户端 | DHCP | 免费 IP 检查(可选) |
| 22 | TCP | SSH | 目标主机 | 远程执行 | 运行作业 |
| 22, 16514 | TCP | SSH SSH/TLS | 计算资源 | Satellite 发起通信,用于 libvirt 中的计算资源 | |
| 53 | TCP 和 UDP | DNS | 互联网上的 DNS 服务器 | DNS 服务器 | 解决 DNS 记录(可选) |
| 53 | TCP 和 UDP | DNS | DNS 服务器 | 胶囊 DNS | 验证 DNS 冲突(可选) |
| 53 | TCP 和 UDP | DNS | DNS 服务器 | 编配 | 验证 DNS 冲突 |
| 68 | UDP | DHCP | 客户端 | 动态 IP | DHCP(可选) |
| 80 | TCP | HTTP | 远程仓库 | 内容同步 | 远程 yum 软件仓库 |
| 389, 636 | TCP | LDAP, LDAPS | 外部 LDAP 服务器 | LDAP |
LDAP 身份验证,只有在启用了外部身份验证时才需要。当定义 |
| 443 | TCP | HTTPS | Satellite | Capsule | Capsule 配置管理 模板检索 OpenSCAP 远程执行结果上传 |
| 443 | TCP | HTTPS | Amazon EC2、Azure、Google GCE | 计算资源 | 虚拟机交互(query/create/destroy)(可选) |
| 443 | TCP | HTTPS | Capsule | 内容镜像 | 启动 |
| 443 | TCP | HTTPS | Infoblox DHCP 服务器 | DHCP 管理 | 使用 Infoblox 进行 DHCP 时,管理 DHCP 租期(可选) |
| 623 | 客户端 | 电源管理 | BMC On/Off/Cycle/Status | ||
| 5000 | TCP | HTTPS | OpenStack 计算资源 | 计算资源 | 虚拟机交互(query/create/destroy)(可选) |
| 5646 | TCP | AMQP | Satellite Server | Katello 代理 | 将消息转发到 Capsule 上的 Qpid 分配路由器(可选) |
| 5671 | Qpid | 远程安装 | 将 install 命令发送到客户端 | ||
| 5671 | 分配路由器(hub) | 远程安装 | 转发在 Satellite 上分配路由器的信息 | ||
| 5671 | Satellite Server | Katello 代理的远程安装 | 将 install 命令发送到客户端 | ||
| 5671 | Satellite Server | Katello 代理的远程安装 | 转发在 Satellite 上分配路由器的信息 | ||
| 5900 - 5930 | TCP | SSL/TLS | 虚拟机监控程序 | noVNC 控制台 | 启动 noVNC 控制台 |
| 7911 | TCP | DHCP、OMAPI | DHCP Server | DHCP |
DHCP 目标使用
ISC 和 |
| 8443 | TCP | HTTPS | 客户端 | Discovery(发现) | Capsule 会将 reboot 命令发送到发现的主机(可选) |
| 9090 | TCP | HTTPS | Capsule | Capsule API | Capsules 管理 |
1.7. 启用从客户端到卫星服务器的连接
作为卫星服务器内部胶囊的客户端的胶囊和内容主机需要通过基于 Satellite 的防火墙和任何基于网络的防火墙进行访问。
使用这个流程在 Satellite 安装的系统中配置基于主机的防火墙,以启用来自客户端的传入连接,并使配置在系统重启后持久保留。有关使用端口的更多信息,请参阅 端口和防火墙要求。
流程
要为客户端打开 Satellite 通信的端口,请在您要在其中安装 Satellite 的基础操作系统上输入以下命令:
# firewall-cmd \ --add-port="53/udp" --add-port="53/tcp" \ --add-port="67/udp" \ --add-port="69/udp" \ --add-port="80/tcp" --add-port="443/tcp" \ --add-port="5647/tcp" \ --add-port="8000/tcp" --add-port="9090/tcp" \ --add-port="8140/tcp"
使更改持久:
# firewall-cmd --runtime-to-permanent
1.8. 验证防火墙设置
使用这个步骤验证对防火墙设置的更改。
流程
使用以下命令:
# firewall-cmd --list-all
如需更多信息,请参阅 Red Hat Enterprise Linux 8 安全指南 中的 使用和配置 firewalld,以及 Red Hat Enterprise Linux 7 安全指南 中的 firewalld 入门。
1.9. 验证 DNS 解析
使用完全限定域名验证完整的转发和反向 DNS 解析,以防止安装 Satellite 时出现问题。
流程
确保主机名和本地主机正确解析:
# ping -c1 localhost # ping -c1 `hostname -f` # my_system.domain.com
成功名称解析结果会类似以下示例:
# ping -c1 localhost PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.043 ms --- localhost ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.043/0.043/0.043/0.000 ms # ping -c1 `hostname -f` PING hostname.gateway (XX.XX.XX.XX) 56(84) bytes of data. 64 bytes from hostname.gateway (XX.XX.XX.XX): icmp_seq=1 ttl=64 time=0.019 ms --- localhost.gateway ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.019/0.019/0.019/0.000 ms
为了避免与静态和临时主机名冲突,请输入以下命令设置系统中的所有主机名:
# hostnamectl set-hostname name
如需更多信息,请参阅 Red Hat Enterprise Linux 7 网络指南中的 使用 hostnamectl 配置主机名。
名称解析对 Satellite 操作至关重要。如果 Satellite 无法正确解析其完全限定域名,则内容管理、订阅管理和调配等任务将失败。
第 2 章 安装 Satellite 服务器
当所需的卫星服务器主机在断开连接的环境中时,您可以使用外部计算机安装卫星服务器,下载软件包的 ISO 镜像,并将软件包复制到您要在其中安装卫星服务器的系统。对于任何其他情况,我们不推荐使用这个方法,因为 ISO 镜像可能不包含最新的更新、错误修复和功能。
使用以下步骤安装 Satellite 服务器,执行初始配置和导入订阅清单。
在继续之前,请考虑与您的环境相关的清单。如需有关清单的更多信息 , 请参阅 内容管理指南中的管理红帽订阅。
您不能将卫星服务器注册到自身。
2.1. 下载二进制 DVD 镜像
使用这个流程为 Red Hat Enterprise Linux 和 Red Hat Satellite 下载 ISO 镜像。
流程
- 访问红帽客户门户网站 并登录。
- 点下载。
- 选择 Red Hat Enterprise Linux。
确保您的环境具有正确的产品和版本。
- 产品变体 设置为 Red Hat Enterprise Linux Server。
- 版本 被设置为您计划用作基础操作系统的产品的最新次要版本。
- 架构 设置为 64 位版本。
- 在 Product Software 选项卡中,为最新的 Red Hat Enterprise Linux Server 版本下载 Binary DVD 镜像。
- 单击下载 并选择 红帽卫星。
确保您的环境具有正确的产品和版本。
- 产品变体 设置为 Red Hat Satellite。
- 版本 被设置为您计划用作基础操作系统的产品的最新次要版本。
- 架构 设置为 64 位版本。
- 在 Product Software 选项卡中,为最新的 Red Hat Satellite 版本下载 Binary DVD 镜像。
将 ISO 文件复制到 Satellite 基础操作系统或其他可访问的存储设备中的
/var/tmp中。# scp localfile username@hostname:remotefile
2.2. 在 RHEL 7 中使用离线软件仓库配置基本操作系统
使用这个流程为 Red Hat Enterprise Linux 7 和 Red Hat Satellite ISO 镜像配置离线软件仓库。
流程
创建一个目录,以用作与基础操作系统版本对应的 ISO 文件的挂载点。
# mkdir /media/rhel7-server
将 Red Hat Enterprise Linux 的 ISO 镜像挂载到挂载点。
# mount -o loop rhel7-Server-DVD.iso /media/rhel7-server要复制 ISO 文件的存储库数据文件并更改权限,请输入:
# cp /media/rhel7-server/media.repo /etc/yum.repos.d/rhel7-server.repo # chmod u+w /etc/yum.repos.d/rhel7-server.repo
编辑存储库数据文件并添加
baseurl指令。baseurl=file:///media/rhel7-server/
验证存储库是否已配置。
# yum repolist
创建一个目录,以用作卫星服务器的 ISO 文件的挂载点。
# mkdir /media/sat6
将卫星服务器的 ISO 镜像挂载到挂载点。
# mount -o loop sat6-DVD.iso /media/sat6
2.3. 在 RHEL 8 中使用离线软件仓库配置基本操作系统
使用这个流程为 Red Hat Enterprise Linux 8 和 Red Hat Satellite ISO 镜像配置离线软件仓库。
流程
创建一个目录,以用作与基础操作系统版本对应的 ISO 文件的挂载点。
# mkdir /media/rhel8
将 Red Hat Enterprise Linux 的 ISO 镜像挂载到挂载点。
# mount -o loop rhel8-DVD.iso /media/rhel8要复制 ISO 文件的存储库数据文件并更改权限,请输入:
# cp /media/rhel8/media.repo /etc/yum.repos.d/rhel8.repo # chmod u+w /etc/yum.repos.d/rhel8.repo
编辑存储库数据文件并添加
baseurl指令。[RHEL8-BaseOS] name=Red Hat Enterprise Linux BaseOS mediaid=None metadata_expire=-1 gpgcheck=0 cost=500 baseurl=file:///media/rhel8/BaseOS/ [RHEL8-AppStream] name=Red Hat Enterprise Linux Appstream mediaid=None metadata_expire=-1 gpgcheck=0 cost=500 baseurl=file:///media/rhel8/AppStream/
验证存储库是否已配置。
# yum repolist
创建一个目录,以用作卫星服务器的 ISO 文件的挂载点。
# mkdir /media/sat6
将卫星服务器的 ISO 镜像挂载到挂载点。
# mount -o loop sat6-DVD.iso /media/sat6
2.4. 从离线软件仓库安装 Satellite 软件包
使用这个流程从离线仓库安装 Satellite 软件包。
流程
确定挂载 Red Hat Enterprise Linux 服务器和 Red Hat Satellite 的 ISO 镜像:
# findmnt -t iso9660
导入 Red Hat GPG 密钥:
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
确定基本操作系统与 Binary DVD 镜像最新:
# yum update
进入挂载 Satellite ISO 的目录:
# cd /media/sat6/
在挂载的目录中运行安装脚本:
# ./install_packages
如果您已成功安装 Satellite 软件包,会显示以下信息:
Install is complete。请运行 satellite-installer --scenario satellite。
2.5. 解决软件包依赖错误
如果在安装卫星服务器软件包的过程中出现软件包依赖关系错误,您可以通过从红帽客户门户网站下载并安装软件包来解决错误。有关解析依赖关系错误的更多信息,请参阅 KCS 解决方案 如何使用 yum 输出来解决 yum 依赖项错误?
如果您已成功安装 Satellite 软件包,请跳过此步骤。
流程
- 访问红帽客户门户网站 并登录。
- 点下载。
- 点击包含要下载的软件包的产品。
- 确保您的环境具有正确的 产品变体 、版本和架构。
- 点 Packages 选项卡。
- 在搜索字段中输入 软件包的名称。
- 点软件包。
- 从 Version 列表中,选择软件包的版本。
- 在页面底部点击 Download Now。
- 将软件包复制到 Satellite 基础操作系统。
在 Satellite 服务器中,切换到软件包所在的目录:
# cd /path-to-package/本地安装软件包:
# yum localinstall package_name进入挂载 Satellite ISO 的目录:
# cd /media/sat6/
通过安装卫星服务器软件包,验证您是否已对软件包依赖关系错误进行整合。如果有其他软件包依赖关系错误,请重复此过程。
# ./install_packages
如果您已成功安装 Satellite 软件包,会显示以下信息:
Install is complete。请运行 satellite-installer --scenario satellite。
2.6. 使用 chronyd 同步系统时钟
为尽量减少时间偏差的影响,您必须将系统时钟同步到要与网络时间协议(NTP)服务器安装卫星服务器的基础操作系统上。如果操作系统时钟配置不正确,证书验证可能会失败。
有关 chrony 套件的更多信息,请参阅使用 Chrony 套件 在 Red Hat Enterprise Linux 8 系统管理员指南 中使用 chrony 套件 配置 NTP,并在 Red Hat Enterprise Linux 7 系统管理员指南 中使用 chrony Suite 配置 NTP。
流程
安装
chrony软件包:# yum install chrony
启动并启用
chronyd服务:# systemctl start chronyd # systemctl enable chronyd
2.7. 在基础操作系统上安装 SOS 软件包
在基础操作系统上安装 sos 软件包,以便您可以从 Red Hat Enterprise Linux 系统收集配置和诊断信息。您还可以使用它来提供初始系统分析,该分析是在向红帽技术支持打开服务请求时所必需的。有关使用 sos 的更多信息,请参阅 知识库解决方案 是什么 sosreport 以及如何在 Red Hat Enterprise Linux 4.6 及之后的版本中创建?
流程
安装 sos 软件包:
# yum install sos
2.8. 配置 Satellite 服务器
使用 satellite-installer 安装脚本安装卫星服务器。从以下任一方法中选择:
- 第 2.8.1 节 “配置 Satellite 安装”.此方法通过使用一个或多个命令选项运行安装脚本来执行。命令选项覆盖对应的默认初始配置选项,并在卫星回答文件中记录。您可以根据需要运行该脚本,以配置任何必要的选项。
根据运行 Satellite 安装程序时所使用的选项,配置可能需要几分钟来完成。管理员可以查看 回答文件,以查看以前使用这两种方法的选项。
2.8.1. 配置 Satellite 安装
此初始配置步骤创建机构、位置、用户名和密码。在初始配置后,您可以根据需要创建额外的机构和位置。初始配置还会在同一服务器上安装 PostgreSQL 数据库。
完成安装过程可能需要十分钟时间。如果您要远程连接到系统,请使用一些工具(如 tmux 或 screen ),允许挂起并重新附加通信会话,以便您可以检查安装进度,以防从远程系统断开连接。如需更多信息,请参阅 如何使用 screen 命令 或者 屏幕 man page。如果您丢失了运行安装命令的 shell,请参阅 /var/log/foreman-installer/satellite.log 中的日志,以确定进程是否已成功完成。
注意事项
-
使用
satellite-installer --scenario satellite --help命令显示可用选项和任何默认值。如果没有指定任何值,则使用默认值。 -
为选项指定一个有意义的值
:--foreman-initial-organization。这可以是您的公司名称。也会创建与值匹配的内部标签,之后无法更改。如果没有指定值,则会创建一个名为 Default Organization 的组织,标签为 Default_Organization。您可以重命名机构名称,但不能命名标签。 -
远程执行是在内容主机上管理软件包的主要方法。如果要使用已弃用的 Katello Agent 而不是 Remote Execution SSH,请使用
--foreman-proxy-content-enable-katello-agent=true选项启用它。应该在任何胶囊服务器和卫星服务器上给定相同的选项。 -
默认情况下,安装程序配置的所有配置文件都由 Puppet 管理。当
satellite-installer运行时,它会使用初始值覆盖对 Puppet 管理的文件的任何手动更改。默认情况下,卫星服务器安装有作为服务运行的 Puppet 代理。如果需要,您可以使用--puppet-runmode=none选项在卫星服务器中禁用 Puppet 代理。 -
如果要手动管理 DNS 文件和 DHCP 文件,请使用
--foreman-proxy-dns-managed=false和--foreman-proxy-dhcp-managed=false选项,以便 Puppet 不会管理与相应服务相关的文件。有关如何在其他服务 上应用自定义配置的更多信息,请参阅将自定义配置应用到 Satellite。
流程
输入以下命令以及您要使用的任何附加选项:
# satellite-installer --scenario satellite \ --foreman-initial-organization "My_Organization" \ --foreman-initial-location "My_Location" \ --foreman-initial-admin-username admin_user_name \ --foreman-initial-admin-password admin_password
这个脚本会显示其进度,并将日志写入
/var/log/foreman-installer/satellite.log。卸载 ISO 镜像:
# umount /media/sat6 # umount /media/rhel7-server
2.9. 禁用订阅连接
在非联网卫星服务器上禁用订阅连接,以避免连接到红帽门户网站。这也可防止您刷新清单,更新上游权利,以及更改简单内容访问的状态。
流程
- 在 Satellite Web UI 中,导航到 Administer > Settings。
- 点 Content 选项卡。
-
将
Subscription Connection Enabled值设为No。
CLI 过程
在 Satellite 服务器中输入以下命令:
# hammer settings set --name subscription_connection_enabled --value false
2.10. 将 Red Hat Subscription Manifest导入到 Satellite Server
使用以下步骤将 Red Hat Subscription Manifest 导入到卫星服务器中。
先决条件
- 您必须从客户门户网站导出了 Red Hat Subscription Manifest 文件。如需更多信息,请参阅 使用红帽订阅管理指南中的使用 清单。
- 确保您在 Satellite 服务器上禁用订阅连接。更多信息请参阅 第 2.9 节 “禁用订阅连接”。
流程
- 在卫星 Web UI 中,确保将上下文设置为您要使用的组织。
- 在 Satellite Web UI 中,导航到 Content > Subscriptions,点 Manage Manifest。
- 在 Manage Manifest 窗口中,单击 Browse。
- 导航到包含 Red Hat Subscription Manifest 文件的位置,然后单击 Open。如果 Manage Manifest 窗口没有自动关闭,点 Close 返回 Subscriptions 窗口。
CLI 过程
将 Red Hat Subscription 清单文件从您的客户端复制到 Satellite 服务器:
$ scp ~/manifest_file.zip root@satellite.example.com:~/.
以
root用户身份登录到 Satellite 服务器,再导入 Red Hat Subscription Manifest 文件:# hammer subscription upload \ --file ~/manifest_file.zip \ --organization "My_Organization"
现在,您可以启用软件仓库并导入红帽内容。如需更多信息,请参阅内容 管理指南中的导入内容。
第 3 章 在卫星服务器上执行额外的配置
3.1. 如何配置 Inter-Server Synchronization
红帽卫星使用 Inter-Server Synchronization(ISS)在多服务器 Satellite 设置中的两个卫星服务器间同步内容。
您可以在以下情况中使用 ISS,例如:
- 如果要将一些内容从卫星服务器复制到其他卫星服务器。例如,您有您的 IT 部门从卫星服务器消耗的内容视图,而您希望将这些内容视图中的内容复制到其他卫星服务器。
- 如果要将所有库内容从卫星服务器复制到其他卫星服务器。例如,您的 IT 部门从库中的卫星服务器使用产品和存储库,您想要将该机构中的所有产品和存储库复制到其他卫星服务器。
您不能使用 ISS 将内容从卫星服务器同步到胶囊服务器。胶囊服务器支持原生同步。如需更多信息,请参阅为 Red Hat Satellite 规划 中的 胶囊服务器概述。
使用 ISS 的方法有多种。您可以使用的方式取决于您的多服务器设置,这些设置可以回退到以下情况之一。
3.1.1. ISS Network Sync in a Disconnected Scenario
在断开连接的场景中,有以下设置:
- 上游卫星服务器连接到互联网。这个服务器使用 Red Hat Content Delivery Network(CDN)或自定义源中的内容。
- 下游卫星服务器完全与所有外部网络隔离。
- 下游卫星服务器可以通过内部网络与连接的上游卫星服务器通信。
图 3.1. Satellite ISS Disconnected Scenario

您可以将下游卫星服务器配置为通过网络从上游卫星服务器同步内容。请参阅 第 3.2 节 “配置卫星服务器以通过网络同步内容”。
3.1.2. ISS Export Sync in a Air-Gapped Scenario
在 air-gapped 场景中,以下设置如下:
- 上游卫星服务器连接到互联网。这个服务器消耗来自红帽 CDN 或自定义源的内容。
- 下游卫星服务器完全与所有外部网络隔离。
- 下游卫星服务器没有连接到连接的上游卫星服务器的网络连接。
图 3.2. Satellite ISS Air-Gapped Scenario

air-gapped downstream Satellite 服务器以接收内容更新的唯一方法是:从上游卫星服务器导出有效负载,将其物理化到下游卫星服务器,并导入有效负载。如需更多信息,请参阅内容 管理指南中的在卫星服务器间同步 内容。
将您的下游卫星服务器配置为使用导出来同步内容。请参阅 第 3.3 节 “配置卫星服务器以使用导出内容同步”。
3.2. 配置卫星服务器以通过网络同步内容
配置下游卫星服务器,以通过 HTTPS 从连接的上游卫星服务器同步存储库。
先决条件
- 上游卫星服务器和下游卫星服务器之间存在网络连接。
- 您在上游和下游卫星服务器上导入了订阅清单。
- 在上游卫星服务器上,您可以为组织启用所需的存储库。
上游用户是 admin 或具有以下权限:
-
view_organizations -
view_products -
edit_organizations(下载 CA 证书) -
view_lifecycle_environments -
view_content_views
-
-
在下游卫星服务器上,您已使用
http://upstream-satellite.example.com/pub/katello-server-ca.crt的内容导入上游卫星服务器的 SSL 证书。如需更多信息,请参阅 内容管理指南中的 导入 SSL 证书。 - stream 用户是 admin,或具有创建产品存储库和机构的权限。
流程
- 进入 Content > Subscriptions。
- 单击 管理清单 按钮。
- 导航到 CDN Configuration 选项卡。
- 选择 Network Sync 选项卡。
- 在 URL 字段中输入上游卫星服务器的地址。
- 在 Username 中,为上游登录输入您的用户名。
- 在 密码 中,为上游登录输入您的密码或个人访问令牌。
- 在 Organization 标签 字段中,输入上游机构标签。
-
可选:在 Lifecycle Environment Label 字段中输入上游生命周期环境标签。默认为
库。 -
可选: 在 Content view 标签 字段中,输入上游 Content View 的标签。默认为
Default_Organization_View。 - 在 SSL CA Content Credential 菜单中,选择上游卫星服务器使用的 CA 证书。
- 点 Update。
- 在 Satellite Web UI 中,导航到 Content > Products。
单击 Sync Now 以同步存储库。
您还可以创建同步计划以确保定期更新。如需更多信息,请参阅 内容管理指南中的创建同步计划。
CLI 过程
- 使用 SSH 连接到您的下游卫星服务器。
查看有关上游 CA 证书的信息:
# hammer content-credential show \ --name="My_Upstream_CA_Cert" \ --organization="My_Downstream_Organization"
记下下一步的 CA 证书的 ID。
将 CDN 配置设置为上游 Satellite 服务器:
# hammer organization configure-cdn --name="My_Downstream_Organization" \ --type=network_sync \ --url https://upstream-{foreman-example-com} \ --username upstream_username --password upstream_password \ --ssl-ca-credential-id "My_Upstream_CA_Cert_ID" \ --upstream-organization-label="_My_Upstream_Organization" \ [--upstream-lifecycle-environment-label="My_Lifecycle_Environment"] \ [--upstream-content-view-label="My_Content_View"]
默认生命周期环境标签是
库。默认 Content View 标签为Default_Organization_View。
3.3. 配置卫星服务器以使用导出内容同步
如果您将下游卫星服务器部署为 air-gapped,请配置卫星服务器,以避免尝试使用网络中的内容。
流程
- 在 Satellite Web UI 中,导航到 Content > Subscriptions。
- 单击 管理清单 按钮。
- 切换到 CDN Configuration 选项卡。
- 选择 Export Sync 选项卡。
- 点 Update。
CLI 过程
- 使用 SSH 登录您的卫星服务器。
将 CDN 配置设置为使用导出进行同步:
# hammer organization configure-cdn --name="My_Organization" --type=export_sync
其它资源
有关使用导出同步内容的更多信息,请参阅 《 内容管理指南》 中的如何使用导出和导入 内容同步内容。
3.4. 导入 Kickstart 存储库
Kickstart 软件仓库不是由内容 ISO 镜像提供。要在断开连接的 Satellite 中使用 Kickstart 软件仓库,您必须下载您要使用的 Red Hat Enterprise Linux 版本的二进制 DVD ISO 文件,并将 Kickstart 文件复制到 Satellite。
为 Red Hat Enterprise Linux 7 导入 Kickstart 软件仓库,完成 第 3.4.1 节 “为 Red Hat Enterprise Linux 7 导入 Kickstart 存储库”。
要为 Red Hat Enterprise Linux 8 导入 Kickstart 软件仓库,完成 第 3.4.2 节 “为 Red Hat Enterprise Linux 8 导入 Kickstart 存储库”。
3.4.1. 为 Red Hat Enterprise Linux 7 导入 Kickstart 存储库
要为 Red Hat Enterprise Linux 7 导入 Kickstart 软件仓库,请在 Satellite 中完成以下步骤。
流程
- 访问 access.redhat.com 上的红帽客户门户网站并登录。
- 在窗口的左上角点击 Downloads。
- 在 Red Hat Enterprise Linux 7 的右侧,点 Versions 7 and below。
- 从 Version 列表中,选择 Red Hat Enterprise Linux 7 所需版本,如 7.7。
- 在 Download Red Hat Enterprise Linux 窗口中,找到 ISO 镜像的二进制 DVD 版本,例如: Red Hat Enterprise Linux 7.7 Binary DVD,然后点击 Download Now。
- 下载完成后,将 ISO 镜像复制到卫星服务器。
在卫星服务器上,创建一个挂载点,并在该位置临时挂载 ISO 镜像:
# mkdir /mnt/iso # mount -o loop rhel-binary-dvd.iso /mnt/iso
创建 Kickstart 目录:
# mkdir --parents /var/www/html/pub/sat-import/content/dist/rhel/server/7/7.7/x86_64/kickstart/
从 ISO 镜像复制
kickstart文件:# cp -a /mnt/iso/* /var/www/html/pub/sat-import/content/dist/rhel/server/7/7.7/x86_64/kickstart/在列出文件中添加以下条目:
在
/var/www/html/sat-import/content/dist/rhel/server/7/listing文件中,附加一个新行的版本号。例如,对于 RHEL 7.7 ISO,请附加7.7。在
/var/www/html/sat-import/content/dist/rhel/server/7.7/listing文件中,附加带有新行的架构。例如,x86_64。到
/var/www/html/pub/sat-import/content/dist/rhel/server/7/7.7/x86_64/listing文件,使用新行附加kickstart。从 ISO 镜像复制
.treeinfo文件:# cp /mnt/iso/.treeinfo /var/www/html/pub/sat-import/content/dist/rhel/server/7/7.7/x86_64/kickstart/treeinfo如果您没有计划使用挂载的二进制 DVD ISO 镜像,请卸载并删除目录:
# umount /mnt/iso # rmdir /mnt/iso
- 在卫星 Web UI 中,启用 Kickstart 存储库。
3.4.2. 为 Red Hat Enterprise Linux 8 导入 Kickstart 存储库
要为 Red Hat Enterprise Linux 8 导入 Kickstart 软件仓库,请在 Satellite 中完成以下步骤。
流程
- 访问 access.redhat.com 上的红帽客户门户网站并登录。
- 在窗口的左上角点击 Downloads。
- 点 Red Hat Enterprise Linux 8*。
- 在 Download Red Hat Enterprise Linux 窗口中,找到 ISO 镜像的二进制 DVD 版本,例如: Red Hat Enterprise Linux 8.1 Binary DVD,然后点击 Download Now。
- 下载完成后,将 ISO 镜像复制到卫星服务器。
在卫星服务器上,创建一个挂载点,并在该位置临时挂载 ISO 镜像:
# mkdir /mnt/iso # mount -o loop rhel-binary-dvd.iso /mnt/iso
为 Red Hat Enterprise Linux 8 AppStream 和 BaseOS Kickstart 软件仓库创建目录:
# mkdir --parents /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart # mkdir --parents /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart
从 ISO 镜像复制
kickstart文件:# cp -a /mnt/iso/AppStream/* /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart # cp -a /mnt/iso/BaseOS/* /mnt/iso/images/ /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart
请注意,对于 BaseOS,还必须复制
/mnt/iso/images/目录的内容。在列出文件中添加以下条目:
到
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/listing文件,附加有新行的kickstart。在
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/listing文件中,附加带有新行的kickstart:在
/var/www/html/pub/sat-import/content/dist/rhel8/listing文件中,附加一个新行的版本号。例如,对于 RHEL 8.1 二进制 ISO,请附加8.1。从 ISO 镜像复制
.treeinfo文件:# cp /mnt/iso/.treeinfo /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo # cp /mnt/iso/.treeinfo /var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo
-
打开
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo文件进行编辑。 在
[general]部分进行以下更改:-
将
packagedir = AppStream/Packages改为packagedir = Packages -
将
repository = AppStream更改为repository = . -
将
变体 = AppStream更改为变体 = BaseOS -
将
变体 = AppStream,BaseOS改为variants = BaseOS
-
将
-
在
[tree]部分中,将变体 = AppStream,BaseOS更改为variants = BaseOS。 在
[variant-BaseOS]部分,进行以下更改:-
将
软件包 = BaseOS/Packagestopackages = Packages -
将
repository = BaseOS更改为repository =。
-
将
-
删除
[media]和[variant-AppStream]部分。 - 保存并关闭该文件。
验证
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/baseos/kickstart/treeinfo文件的格式如下:[checksums] images/efiboot.img = sha256:9ad9beee4c906cd05d227a1be7a499c8d2f20b3891c79831325844c845262bb6 images/install.img = sha256:e246bf4aedfff3bb54ae9012f959597cdab7387aadb3a504f841bdc2c35fe75e images/pxeboot/initrd.img = sha256:a66e3c158f02840b19c372136a522177a2ab4bd91cb7269fb5bfdaaf7452efef images/pxeboot/vmlinuz = sha256:789028335b64ddad343f61f2abfdc9819ed8e9dfad4df43a2694c0a0ba780d16 [general] ; WARNING.0 = This section provides compatibility with pre-productmd treeinfos. ; WARNING.1 = Read productmd documentation for details about new format. arch = x86_64 family = Red Hat Enterprise Linux name = Red Hat Enterprise Linux 8.1.0 packagedir = Packages platforms = x86_64,xen repository = . timestamp = 1571146127 variant = BaseOS variants = BaseOS version = 8.1.0 [header] type = productmd.treeinfo version = 1.2 [images-x86_64] efiboot.img = images/efiboot.img initrd = images/pxeboot/initrd.img kernel = images/pxeboot/vmlinuz [images-xen] initrd = images/pxeboot/initrd.img kernel = images/pxeboot/vmlinuz [release] name = Red Hat Enterprise Linux short = RHEL version = 8.1.0 [stage2] mainimage = images/install.img [tree] arch = x86_64 build_timestamp = 1571146127 platforms = x86_64,xen variants = BaseOS [variant-BaseOS] id = BaseOS name = BaseOS packages = Packages repository = . type = variant uid = BaseOS
-
打开
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo文件进行编辑。 在
[general]部分进行以下更改:-
将
packagedir = AppStream/Packages改为packagedir = Packages -
将
repository = AppStream更改为repository = . -
将
变体 = AppStream,BaseOS改为variants = AppStream
-
将
-
在
[tree]部分中,将变体 = AppStream,BaseOS改为variants = AppStream 在
[variant-AppStream]部分进行以下更改:-
更改
软件包 = AppStream/Packagestopackages = Packages -
将
repository = AppStream更改为repository = .
-
更改
-
从文件中删除以下部分:
[checksums],[images-x86_64],[images-xen],[media],[stage2],[variant-BaseOS]. - 保存并关闭该文件。
验证
/var/www/html/pub/sat-import/content/dist/rhel8/8.1/x86_64/appstream/kickstart/treeinfo文件是否具有以下格式:[general] ; WARNING.0 = This section provides compatibility with pre-productmd treeinfos. ; WARNING.1 = Read productmd documentation for details about new format. arch = x86_64 family = Red Hat Enterprise Linux name = Red Hat Enterprise Linux 8.1.0 packagedir = Packages platforms = x86_64,xen repository = . timestamp = 1571146127 variant = AppStream variants = AppStream version = 8.1.0 [header] type = productmd.treeinfo version = 1.2 [release] name = Red Hat Enterprise Linux short = RHEL version = 8.1.0 [tree] arch = x86_64 build_timestamp = 1571146127 platforms = x86_64,xen variants = AppStream [variant-AppStream] id = AppStream name = AppStream packages = Packages repository = . type = variant uid = AppStream
如果您没有计划使用挂载的二进制 DVD ISO 镜像,请卸载并删除目录:
# umount /mnt/iso # rmdir /mnt/iso
- 在卫星 Web UI 中,启用 Kickstart 存储库。
3.5. 启用 Satellite Client 6 软件仓库
Satellite Client 6 存储库提供 katello-agent、katello-host-tools 和 puppet 软件包,供客户端注册到卫星服务器。
要使用 CLI 而不是 Satellite Web UI,请参阅 CLI 过程。
先决条件
- 确保您将所需的所有内容 ISO 镜像导入到卫星服务器中。
流程
- 在 Satellite Web UI 中,进入 Content > Red Hat Repositories。
- 使用 Search 字段输入以下存储库名称: Satellite Client 6(用于 RHEL 7 服务器)(RPMs)。
在 Available Repositories 窗格中,单击 Satellite Client 6(for RHEL 7 Server)(RPMs) 以展开存储库集。
如果 Satellite Client 6 项不可见,则可能是因为它们没有包含在客户门户网站获得的红帽订阅清单中。要更正这一点,请登录客户门户网站,添加这些软件仓库,下载 Red Hat Subscription Manifest,并将它导入到 Satellite。
-
对于
x86_64条目,请单击 Enable 图标以启用存储库。
为主机上运行的每个 Red Hat Enterprise Linux 主版本启用 Satellite Client 6 软件仓库。启用红帽存储库后,将自动创建此软件仓库的产品。
CLI 过程
使用
hammer repository-set enable命令启用 Satellite Client 6 存储库:# hammer repository-set enable \ --basearch='x86_64' \ --name 'Red Hat Satellite Client 6 (for RHEL 7 Server) (RPMs)' \ --organization "My_Organization" \ --product 'Red Hat Enterprise Linux Server'
3.6. 同步 Satellite Client 6 软件仓库
使用这个部分将 Satellite Client 6 存储库从 Red Hat Content Delivery Network(CDN)同步到 Satellite。此存储库为注册了卫星服务器的客户端提供 katello-agent、katello-host-tools 和 puppet 软件包。
流程
在 Satellite Web UI 中,导航到 Content > Sync Status。
此时会显示可用于同步的产品存储库列表。
- 点 Red Hat Enterprise Linux Server 产品旁的箭头查看可用内容。
- 选择 Satellite Client 6(用于 RHEL 7 服务器)RPM x86_64。
- 单击 立即同步。
CLI 过程
使用
hammer 存储库同步您的 Satellite Client 6 存储库:# hammer repository synchronize \ --async \ --name 'Red Hat Satellite Client 6 for RHEL 7 Server RPMs x86_64' \ --organization "My_Organization" \ --product 'Red Hat Enterprise Linux Server'
3.7. 在受管主机上启用电源管理
要使用智能平台管理接口(IPMI)或类似协议对受管主机执行电源管理任务,您必须在卫星服务器上启用基板管理控制器(BMC)模块。
先决条件
- 所有受管主机都必须具有 BMC 类型的网络接口。Satellite 服务器使用此 NIC 将适当的凭据传递给主机。如需更多信息,请参阅管理主机 指南中的 添加基板管理控制器(BMC)接口。
流程
要启用 BMC,请输入以下命令:
# satellite-installer --foreman-proxy-bmc "true" \ --foreman-proxy-bmc-default-provider "freeipmi"
3.8. 在卫星服务器上配置 DNS、DHCP 和 TFTP
要在卫星服务器上配置 DNS、DHCP 和 TFTP 服务,请使用 satellite-installer 命令以及适合您的环境的选项。要查看可配置选项的完整列表,请输入 satellite-installer --scenario satellite --help 命令。
对设置的任何更改都需要再次输入 satellite-installer 命令。您可以多次输入命令,每次更新带有更改的值的所有配置文件时。
要使用外部 DNS、DHCP 和 TFTP 服务,请参阅 第 4 章 使用外部服务配置卫星服务器。
添加 Multihomed DHCP 详情
如果要使用 Multihomed DHCP,您必须通知安装程序。
先决条件
确保以下信息可用:
- DHCP IP 地址范围
- DHCP 网关 IP 地址
- DHCP 名称服务器 IP 地址
- DNS 信息
- TFTP 服务器名称
- 在网络更改时,尽可能使用 FQDN 而不是 IP 地址。
- 请联系您的网络管理员,确保您有正确的设置。
流程
使用适合您的环境的选项输入
satellite-installer命令。以下示例显示了配置完整置备服务:# satellite-installer --scenario satellite \ --foreman-proxy-dns true \ --foreman-proxy-dns-managed true \ --foreman-proxy-dns-interface eth0 \ --foreman-proxy-dns-zone example.com \ --foreman-proxy-dns-reverse 2.0.192.in-addr.arpa \ --foreman-proxy-dhcp true \ --foreman-proxy-dhcp-managed true \ --foreman-proxy-dhcp-interface eth0 \ --foreman-proxy-dhcp-additional-interfaces eth1 \ --foreman-proxy-dhcp-additional-interfaces eth2 \ --foreman-proxy-dhcp-range "192.0.2.100 192.0.2.150" \ --foreman-proxy-dhcp-gateway 192.0.2.1 \ --foreman-proxy-dhcp-nameservers 192.0.2.2 \ --foreman-proxy-tftp true \ --foreman-proxy-tftp-managed true \ --foreman-proxy-tftp-servername 192.0.2.3
您可以监控提示中显示的 satellite-installer 命令的进度。您可以查看 /var/log/foreman-installer/satellite.log 中的日志。您可以在 /etc/foreman-installer/scenarios.d/satellite-answers.yaml 文件中查看所用的设置,包括 initial_admin_password 参数。
有关配置 DHCP、DNS 和 TFTP 服务的更多信息,请参阅 置备 指南中的 配置网络服务。
3.9. 为非受管网络禁用 DNS、DHCP 和 TFTP
如果要手动管理 TFTP、DHCP 和 DNS 服务,您必须防止 Satellite 在操作系统中维护这些服务并禁用编配以避免 DHCP 和 DNS 验证错误。但是,卫星不会删除操作系统上的后端服务。
流程
在 Satellite 服务器中输入以下命令:
# satellite-installer --foreman-proxy-dhcp false \ --foreman-proxy-dns false \ --foreman-proxy-tftp false
- 在 Satellite Web UI 中,导航到 Infrastructure > Subnets 并选择子网。
- 单击 Capsules 选项卡,再清除 DHCP Capsule、TFTP Capsule 和 Reverse DNS Capsule 字段。
- 在 Satellite Web UI 中,导航到 Infrastructure > Domains 并选择 domain。
- 清除 DNS Capsule 字段。
可选:如果您使用第三方提供的 DHCP 服务,请将 DHCP 服务器配置为传递以下选项:
Option 66: IP address of Satellite or Capsule Option 67: /pxelinux.0有关 DHCP 选项的详情,请查看 RFC 2132。
当给定子网和域没有设置胶囊时,卫星不执行编配。在启用或禁用胶囊关联时,如果预期的记录和配置文件不存在,现有主机的编配命令可能会失败。在关联胶囊来打开编配时,请确保现有 Satellite 主机所需的 DHCP 和 DNS 记录以及 TFTP 文件,以防止主机删除失败。
3.10. 配置卫星服务器以进行传出电子邮件
要从卫星服务器发送电子邮件信息,您可以使用 SMTP 服务器或 sendmail 命令。
前提条件
-
已知的具有反垃圾邮件保护或查询功能的某些 SMTP 服务器会导致问题。要使用这样的服务设置传出电子邮件,可以在卫星服务器上安装和配置 vanilla SMTP 服务以转发或使用
sendmail命令。
流程
- 在 Satellite Web UI 中,导航到 Administer > Settings。
单击 Email 选项卡,再设置配置选项以匹配您首选的交付方法。这些更改会立即生效。
以下示例显示了使用 SMTP 服务器的配置选项:
表 3.1. 使用 SMTP 服务器作为交付方法
名称 示例值 交付方法
SMTP
SMTP 地址
smtp.example.com
SMTP 身份验证
login
SMTP HELO/EHLO 域
example.com
SMTP 密码
password
SMTP 端口
25
SMTP 用户名
user@example.com
SMTP 用户名和SMTP 密码指定 SMTP 服务器的登录凭证。以下示例将 gmail.com 用作 SMTP 服务器:
表 3.2. 使用 gmail.com 作为 SMTP 服务器
名称 示例值 交付方法
SMTP
SMTP 地址
smtp.gmail.com
SMTP 身份验证
plain
SMTP HELO/EHLO 域
smtp.gmail.com
SMTP 启用 StartTLS auto
是
SMTP 密码
password
SMTP 端口
587
SMTP 用户名
user@gmail.com
以下示例将
sendmail命令用作发送方法:表 3.3. 使用 sendmail 作为发送方法
名称 示例值 交付方法
sendmail
Sendmail 位置
/usr/sbin/sendmail
Sendmail 参数
-i
出于安全考虑,Sendmail 位置和 Sendmail 参数设置都是只读的,只能在
/etc/foreman/settings.yaml中设置。这两个设置目前无法通过satellite-installer设置。详情请查看 sendmail 1 man page。
如果您决定使用 TLS 验证的 SMTP 服务器发送电子邮件,还要执行以下步骤之一:
将 SMTP 服务器的 CA 证书标记为可信。要做到这一点,请在卫星服务器上执行以下命令:
# cp mailca.crt /etc/pki/ca-trust/source/anchors/ # update-ca-trust enable # update-ca-trust
其中
mailca.crt是 SMTP 服务器的 CA 证书。-
另外,在 Satellite Web UI 中,将
SMTP 启用 StartTLS 自动选项设置为No。
-
单击 Test email 以向用户的电子邮件地址发送测试消息,以确认配置正常工作。如果消息无法发送,卫星 Web UI 会显示错误。详情请查看
/var/log/foreman/production.log中的日志。
有关为单个用户或用户组配置电子邮件通知的详情,请参考 管理 Red Hat Satellite 中的配置 电子邮件通知。
3.11. 使用自定义 SSL 证书配置卫星服务器
默认情况下,红帽卫星使用自签名 SSL 证书在卫星服务器、外部胶囊服务器和所有主机之间启用加密通信。如果无法使用 Satellite 自签名证书,您可以将卫星服务器配置为使用外部证书颁发机构签名的 SSL 证书。
要使用自定义证书配置 Satellite 服务器,请完成以下步骤:
- 第 3.11.1 节 “为 Satellite 服务器创建自定义 SSL 证书”
- 第 3.11.2 节 “将自定义 SSL 证书部署到卫星服务器”
- 第 3.11.3 节 “将自定义 SSL 证书部署到主机”
- 如果您向卫星服务器注册了外部胶囊服务器,则必须使用自定义 SSL 证书配置它们。相同的证书颁发机构必须签署卫星服务器和胶囊服务器的证书。如需更多信息,请参阅安装胶囊服务器中的使用自定义 SSL 证书 配置胶囊服务器。
3.11.1. 为 Satellite 服务器创建自定义 SSL 证书
使用此流程为卫星服务器创建自定义 SSL 证书。如果您已经有 Satellite 服务器的自定义 SSL 证书,请跳过此步骤。
当您使用自定义证书配置 Satellite 服务器时,请注意以下注意事项:
- 您必须对 SSL 证书使用 Privacy-Enhanced mail(PEM)编码。
- 您不能将相同的证书用于卫星服务器和胶囊服务器。
- 相同的证书颁发机构必须签署卫星服务器和胶囊服务器的证书。
流程
要存储所有源证书文件,请创建一个仅可供
root用户访问的目录。# mkdir /root/satellite_cert
创建为证书签名请求(CSR)签名的私钥。
请注意,私钥必须未加密的。如果您使用受密码保护的私钥,请删除私钥密码。
如果您已拥有此卫星服务器的私钥,请跳过这一步。
# openssl genrsa -out
/root/satellite_cert/satellite_cert_key.pem4096为证书签名请求(CSR)创建
/root/satellite_cert/openssl.cnf配置文件并包含以下内容:[ req ] req_extensions = v3_req distinguished_name = req_distinguished_name x509_extensions = usr_cert prompt = no [ req_distinguished_name ] 1 C = Country Name (2 letter code) ST = State or Province Name (full name) L = Locality Name (eg, city) O = Organization Name (eg, company) OU = The division of your organization handling the certificate CN = satellite.example.com 2 [ v3_req ] basicConstraints = CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection subjectAltName = @alt_names [ usr_cert ] basicConstraints=CA:FALSE nsCertType = client, server, email keyUsage = nonRepudiation, digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth, codeSigning, emailProtection nsComment = "OpenSSL Generated Certificate" subjectKeyIdentifier=hash authorityKeyIdentifier=keyid,issuer [ alt_names ] DNS.1 = satellite.example.com 3
生成证书签名请求(CSR):
# openssl req -new \ -key /root/satellite_cert/satellite_cert_key.pem \ 1 -config /root/satellite_cert/openssl.cnf \ 2 -out /root/satellite_cert/satellite_cert_csr.pem 3
将证书签名请求发送到证书颁发机构。相同的证书颁发机构必须签署卫星服务器和胶囊服务器的证书。
提交请求时,指定证书的寿命。发送证书请求的方法各不相同,因此请查阅证书颁发机构以获取首选方法。为了响应请求,预计可以在单独的文件中接收证书颁发机构捆绑包和签名证书。
3.11.2. 将自定义 SSL 证书部署到卫星服务器
使用这个步骤将 Satellite 服务器配置为使用由证书颁发机构签名的自定义 SSL 证书。katello-certs-check 命令验证输入证书文件,并将自定义 SSL 证书部署到卫星服务器所需的命令返回。
流程
验证自定义 SSL 证书输入文件。请注意,对于
katello-certs-check命令可以正常工作,证书中的 Common Name(CN)必须与卫星服务器的 FQDN 匹配。# katello-certs-check \ -c /root/satellite_cert/satellite_cert.pem \ 1 -k /root/satellite_cert/satellite_cert_key.pem \ 2 -b /root/satellite_cert/ca_cert_bundle.pem 3
如果命令成功,它将返回两个
satellite-installer命令,其中一个必须使用它来将证书部署到卫星服务器。katello-certs-check输出示例Validation succeeded. To install the Red Hat Satellite Server with the custom certificates, run: satellite-installer --scenario satellite \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" To update the certificates on a currently running Red Hat Satellite installation, run: satellite-installer --scenario satellite \ --certs-server-cert "/root/satellite_cert/satellite_cert.pem" \ --certs-server-key "/root/satellite_cert/satellite_cert_key.pem" \ --certs-server-ca-cert "/root/satellite_cert/ca_cert_bundle.pem" \ --certs-update-server --certs-update-server-ca在
katello-certs-check命令的输出中,根据您的要求,输入satellite-installer命令,该命令使用自定义 SSL 证书在当前正在运行的 Satellite 上安装新 Satellite 或更新证书。如果您不确定要运行的命令,您可以通过检查文件
/etc/foreman-installer/scenarios.d/.installed来验证是否安装了 Satellite。如果文件存在,请运行更新证书的第二个satellite-installer命令。重要不要在部署证书后删除证书归档文件。例如,升级卫星服务器时需要它。
-
在可访问卫星服务器的计算机中,导航到以下 URL
: - 在浏览器中,查看证书详情以验证部署的证书。
3.11.3. 将自定义 SSL 证书部署到主机
将卫星服务器配置为使用自定义 SSL 证书后,您还必须在注册到此卫星服务器的每个主机上安装 katello-ca-consumer 软件包。
流程
在每个主机上安装
katello-ca-consumer软件包:# yum localinstall \ http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
3.12. 将外部数据库与 Satellite 搭配使用
作为 Red Hat Satellite 安装过程的一部分,satellite-installer 命令会将 PostgreSQL 数据库安装到与 Satellite 相同的服务器上。在某些 Satellite 部署中,使用外部数据库而不是默认本地数据库可帮助服务器加载。
红帽不提供对外部数据库维护的支持或工具。这包括备份、升级和数据库调整。您必须具有自己的数据库管理员才能支持和维护外部数据库。
要为 Satellite 创建并使用外部数据库,您必须完成以下步骤:
- 第 3.12.2 节 “为外部数据库准备主机”.准备 Red Hat Enterprise Linux 7 服务器以托管外部数据库。
- 第 3.12.3 节 “安装 PostgreSQL”。使用具有所属卫星、Candlepin 和 Pulp 的数据库准备 PostgreSQL。
-
第 3.12.4 节 “配置卫星服务器以使用外部数据库”。编辑
satellite-installer的参数以指向新数据库,并运行satellite-installer。
3.12.1. PostgreSQL 作为外部数据库注意事项
Foreman、Karnish 和 Candlepin 使用 PostgreSQL 数据库。如果要使用 PostgreSQL 作为外部数据库,则以下信息可帮助您确定此选项是否适合您的 Satellite 配置。Satellite 支持 PostgreSQL 版本 12.1。
外部 PostgreSQL 的优点:
- 增加 Satellite 中的可用内存和可用 CPU
-
在 PostgreSQL 数据库上将
shared_buffers的灵活性设置为高数值,而不影响 Satellite 上的其他服务的风险 - 在不影响 Satellite 操作的情况下对 PostgreSQL 服务器系统进行灵活调整
外部 PostgreSQL 的缺陷
- 增加部署复杂性,使故障排除更困难
- 外部 PostgreSQL 服务器是补丁和维护的额外系统
- 如果 Satellite 或 PostgreSQL 数据库服务器遇到硬件或存储故障,卫星无法正常运行
- 如果 Satellite 服务器和数据库服务器之间存在延迟,性能可能会会受到影响
如果您怀疑 Satellite 上的 PostgreSQL 数据库导致性能问题,请使用 Satellite 6 中的信息:如何启用 postgres 查询日志来检测运行速度慢的问题,以确定您是否 有慢的问题查询。需要一秒钟的查询通常是由于大型安装出现性能问题,而移动到外部数据库的查询通常不是帮助。如果您有慢的查询,请联络红帽支持。
3.12.2. 为外部数据库准备主机
使用最新 Red Hat Enterprise Linux 7 服务器安装一个最新置备的系统,以托管外部数据库。
Red Hat Software Collections 和 Red Hat Enterprise Linux 的订阅不提供将 Satellite 与外部数据库一起使用的正确服务级别协议。您还必须将 Satellite 订阅附加到要用于外部数据库的基础操作系统中。
先决条件
- 准备的主机必须满足卫星 的存储要求。
流程
- 使用 将 Satellite Infrastructure 订阅附加到服务器中的说明。
禁用所有软件仓库并只启用以下软件仓库:
# subscription-manager repos --disable '*' # subscription-manager repos --enable=rhel-server-rhscl-7-rpms \ --enable=rhel-7-server-rpms --enable=rhel-7-server-satellite-6.11-rpms
3.12.3. 安装 PostgreSQL
在内部数据库安装过程中,您只能安装与 satellite-installer 工具安装的相同版本的 PostgreSQL。只要支持版本,您可以使用 Red Hat Enterprise Linux Server 7 软件仓库或从外部源安装 PostgreSQL。Satellite 支持 PostgreSQL 版本 12.1。
流程
要安装 PostgreSQL,请输入以下命令:
# yum install rh-postgresql12-postgresql-server \ rh-postgresql12-syspaths \ rh-postgresql12-postgresql-evr
要初始化 PostgreSQL,请输入以下命令:
# postgresql-setup initdb
编辑
/var/opt/rh-postgresql12/lib/pgsql/data/postgresql.conf文件:# vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/postgresql.conf
删除
#并编辑 以侦听入站连接:listen_addresses = '*'
编辑
/var/opt/rh-postgresql12/lib/pgsql/data/pg_hba.conf文件:# vi /var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
在文件中添加以下行:
host all all Satellite_ip/24 md5要启动并启用 PostgreSQL 服务,请输入以下命令:
# systemctl start postgresql # systemctl enable postgresql
打开外部 PostgreSQL 服务器上的 postgresql 端口:
# firewall-cmd --add-service=postgresql # firewall-cmd --runtime-to-permanent
切换到
postgres用户并启动 PostgreSQL 客户端:$ su - postgres -c psql
创建三个数据库和专用角色:一个用于 Satellite,一个用于 Candlepin,另一个用于 Pulp:
CREATE USER "foreman" WITH PASSWORD 'Foreman_Password'; CREATE USER "candlepin" WITH PASSWORD 'Candlepin_Password'; CREATE USER "pulp" WITH PASSWORD 'Pulpcore_Password'; CREATE DATABASE foreman OWNER foreman; CREATE DATABASE candlepin OWNER candlepin; CREATE DATABASE pulpcore OWNER pulp;
退出
postgres用户:# \q
从卫星服务器,测试您可以访问数据库。如果连接成功,命令会返回
1。# PGPASSWORD='Foreman_Password' psql -h postgres.example.com -p 5432 -U foreman -d foreman -c "SELECT 1 as ping" # PGPASSWORD='Candlepin_Password' psql -h postgres.example.com -p 5432 -U candlepin -d candlepin -c "SELECT 1 as ping" # PGPASSWORD='Pulpcore_Password' psql -h postgres.example.com -p 5432 -U pulp -d pulpcore -c "SELECT 1 as ping"
3.12.4. 配置卫星服务器以使用外部数据库
使用 satellite-installer 命令配置 Satellite 以连接到外部 PostgreSQL 数据库。
前提条件
- 您已在 Red Hat Enterprise Linux 服务器中安装并配置 PostgreSQL 数据库。
流程
要为 Satellite 配置外部数据库,请输入以下命令:
satellite-installer --scenario satellite \ --foreman-db-host postgres.example.com \ --foreman-db-password Foreman_Password \ --foreman-db-database foreman \ --foreman-db-manage false \ --katello-candlepin-db-host postgres.example.com \ --katello-candlepin-db-name candlepin \ --katello-candlepin-db-password Candlepin_Password \ --katello-candlepin-manage-db false \ --foreman-proxy-content-pulpcore-manage-postgresql false \ --foreman-proxy-content-pulpcore-postgresql-host postgres.example.com \ --foreman-proxy-content-pulpcore-postgresql-db-name pulpcore \ --foreman-proxy-content-pulpcore-postgresql-password Pulpcore_Password --foreman-proxy-content-pulpcore-postgresql-user pulp
要为这些外部数据库启用安全套接字层(SSL)协议,请添加以下选项:
--foreman-db-sslmode verify-full --foreman-db-root-cert <path_to_CA> --katello-candlepin-db-ssl true --katello-candlepin-db-ssl-verify true --foreman-proxy-content-pulpcore-postgresql-ssl true --foreman-proxy-content-pulpcore-postgresql-ssl-root-ca <path_to_CA>
3.13. 使用预定义的配置集调整卫星服务器
如果您的 Satellite 部署包含 5000 的主机,您可以使用预定义的调优配置文件来改进 Satellite 的性能。
请注意,您不能在 Capsules 上使用调优配置集。
您可以根据 Satellite 管理及可用的硬件资源的主机数量,选择其中一个配置集。
调优配置文件位于 /usr/share/foreman-installer/config/foreman.hiera/tuning/sizes 目录中。
当使用 --tuning 选项运行 satellite-installer 命令时,请按照以下顺序将部署配置设置应用到 Satellite:
-
/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml文件中定义的默认调优配置文件 -
要应用到部署的调优配置文件,并在
/usr/share/foreman-installer/config/foreman.hiera/tuning/sizes/目录中定义 -
可选:如果您配置了
/etc/foreman-installer/custom-hiera.yaml文件,Satellite 会应用这些配置设置。
请注意,在 /etc/foreman-installer/custom-hiera.yaml 文件中定义的配置设置会覆盖调优配置文件中定义的配置设置。
因此,在应用调优配置文件前,您必须比较 /usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml 文件中默认调节配置集中定义的配置设置,以及从 /etc/foreman-installer/custom-hiera.yaml 文件中删除任何重复的配置。yaml 文件从 /etc/foreman-installer/custom-hiera.yaml 文件中删除任何重复的配置。
- default
受管主机数量:0-5000
RAM:20G
CPU 内核数:4
- 中
受管主机数量:5001-10000
RAM: 32G
CPU 内核数: 8
- 大
受管主机数量: 10001-20000
RAM:64G
CPU 内核数:16
- extra-large
受管主机数量: 20001-60000
RAM:128G
CPU 内核数:32
- extra-extra-large
受管主机数量:60000+
RAM: 256G
CPU 内核数: 48+
流程
可选: 如果您已经在 Satellite 服务器中配置了
custom-hiera.yaml文件,请将/etc/foreman-installer/custom-hiera.yaml文件备份到custom-hiera.original。如果文件被破坏,您可以使用备份文件将/etc/foreman-installer/custom-hiera.yaml文件恢复到其原始状态:# cp /etc/foreman-installer/custom-hiera.yaml \ /etc/foreman-installer/custom-hiera.original
-
可选: 如果您已经在 Satellite 服务器中配置了
custom-hiera.yaml文件,请查看/usr/share/foreman-installer/config/foreman.hiera/tuning/common.yaml和您要在 /usr/share/foreman-installer/config/foreman-installer.hiera/tuning/size.yaml 中应用的默认调节配置文件的定义。将配置条目与/etc/foreman-installer/custom-hiera.yaml文件中的条目进行比较,并删除/etc/foreman-installer/custom-hiera.yaml文件中的任何重复配置设置。 使用您要应用的配置集的
--tuning选项输入satellite-installer命令。例如,要应用 medium 调节配置集设置,请输入以下命令:# satellite-installer --tuning medium
第 4 章 使用外部服务配置卫星服务器
如果您不想在卫星服务器上配置 DNS、DHCP 和 TFTP 服务,请使用本节将卫星服务器配置为使用外部 DNS、DHCP 和 TFTP 服务。
4.1. 使用外部 DNS 配置卫星服务器
您可以使用外部 DNS 配置卫星服务器。Satellite 服务器使用 nsupdate 工具更新远程服务器上的 DNS 记录。
要使任何更改都持久,您必须输入 satellite-installer 命令以及适合您的环境的选项。
先决条件
- 您必须有配置的外部 DNS 服务器。
- 本指南假定您安装了现有安装。
流程
将
/etc/rndc.key文件从外部 DNS 服务器复制到 Satellite 服务器:# scp root@dns.example.com:/etc/rndc.key /etc/foreman-proxy/rndc.key配置所有权、权限和 SELinux 上下文:
# restorecon -v /etc/foreman-proxy/rndc.key # chown -v root:foreman-proxy /etc/foreman-proxy/rndc.key # chmod -v 640 /etc/foreman-proxy/rndc.key
要测试
nsupdate工具,请远程添加主机:# echo -e "server DNS_IP_Address\n \ update add aaa.example.com 3600 IN A Host_IP_Address\n \ send\n" | nsupdate -k /etc/foreman-proxy/rndc.key # nslookup aaa.example.com DNS_IP_Address # echo -e "server DNS_IP_Address\n \ update delete aaa.example.com 3600 IN A Host_IP_Address\n \ send\n" | nsupdate -k /etc/foreman-proxy/rndc.key
输入
satellite-installer命令,对/etc/foreman-proxy/settings.d/dns.yml文件进行以下更改:# satellite-installer --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="DNS_IP_Address" \ --foreman-proxy-keyfile=/etc/foreman-proxy/rndc.key- 在 Satellite Web UI 中,导航到 Infrastructure > Capsules。
- 找到卫星服务器,再从 Actions 列中的列表选择 Refresh。
- 将 DNS 服务与适当的子网和域关联。
4.2. 使用外部 DHCP 配置卫星服务器
要使用外部 DHCP 配置 Satellite 服务器,您必须完成以下步骤:
4.2.1. 配置外部 DHCP 服务器以与卫星服务器搭配使用
要配置运行 Red Hat Enterprise Linux 的外部 DHCP 服务器以用于 Satellite 服务器,您必须安装 ISC DHCP Service 和 Berkeley Internet Name Domain(BIND)软件包。您还必须与卫星服务器共享 DHCP 配置和租期文件。此流程中的示例使用分布式网络文件系统(NFS)协议共享 DHCP 配置和租期文件。
如果您将 dnsmasq 用作外部 DHCP 服务器,请启用 dhcp-no-override 设置。这是必要的,因为 Satellite 在 TFTP 服务器上的 grub2/ 子目录中创建配置文件。如果禁用了 dhcp-no-override 设置,客户端会从根目录获取引导装载程序及其配置,这可能导致错误。
流程
在您的 Red Hat Enterprise Linux 主机上,安装 ISC DHCP Service 和 Berkeley Internet Name Domain(BIND)软件包:
# yum install dhcp bind
生成安全令牌:
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
因此,在当前目录中创建由两个文件组成的密钥对。
从密钥复制 secret 哈希:
# cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
编辑所有子网的
dhcpd配置文件并添加该密钥。以下是一个示例:# cat /etc/dhcp/dhcpd.conf default-lease-time 604800; max-lease-time 2592000; log-facility local7; subnet 192.168.38.0 netmask 255.255.255.0 { range 192.168.38.10 192.168.38.100; option routers 192.168.38.1; option subnet-mask 255.255.255.0; option domain-search "virtual.lan"; option domain-name "virtual.lan"; option domain-name-servers 8.8.8.8; } omapi-port 7911; key omapi_key { algorithm HMAC-MD5; secret "jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw=="; }; omapi-key omapi_key;
请注意,
选项路由器值是您要用于外部 DHCP 服务的 Satellite 或 Capsule IP 地址。- 从其在其中创建的目录中删除这两个密钥文件。
在卫星服务器上,定义每个子网。暂时不要为定义的子网设置 DHCP Capsule。
要防止冲突,请单独设置租期和保留范围。例如,如果租期范围是 192.168.38.10 到 192.168.38.100,在 Satellite Web UI 中将保留范围定义为 192.168.38.101 到 192.168.38.250。
配置防火墙以从外部访问 DHCP 服务器:
# firewall-cmd --add-service dhcp \ && firewall-cmd --runtime-to-permanent
在卫星服务器上,确定
foreman用户的 UID 和 GID:# id -u foreman 993 # id -g foreman 990
在 DHCP 服务器中,创建
foreman用户和组,其 ID 与上一步中确定的 ID 相同:# groupadd -g 990 foreman # useradd -u 993 -g 990 -s /sbin/nologin foreman
要确保配置文件可以访问,请恢复读和执行标志:
# chmod o+rx /etc/dhcp/ # chmod o+r /etc/dhcp/dhcpd.conf # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
启动 DHCP 服务:
# systemctl start dhcpd
使用 NFS 导出 DHCP 配置和租期文件:
# yum install nfs-utils # systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
为您要使用 NFS 导出的 DHCP 配置和租期文件创建目录:
# mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
要为创建的目录创建挂载点,请在
/etc/fstab文件中添加以下行:/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
在
/etc/fstab中挂载文件系统:# mount -a
确定
/etc/exports中存在以下行:/exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check) /exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide) /exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
请注意,您输入的 IP 地址是您要用于外部 DHCP 服务的 Satellite 或 Capsule IP 地址。
重新载入 NFS 服务器:
# exportfs -rva
配置 DHCP omapi 端口 7911 的防火墙:
# firewall-cmd --add-port="7911/tcp" \ && firewall-cmd --runtime-to-permanent
可选:配置用于从外部访问 NFS 的防火墙。客户端使用 NFSv3 配置。
# firewall-cmd --zone public --add-service mountd \ && firewall-cmd --zone public --add-service rpc-bind \ && firewall-cmd --zone public --add-service nfs \ && firewall-cmd --runtime-to-permanent
4.2.2. 使用外部 DHCP 服务器配置卫星服务器
您可以使用外部 DHCP 服务器配置卫星服务器。
前提条件
- 确保您配置了外部 DHCP 服务器,并且您已使用 Satellite 服务器共享 DHCP 配置和租期文件。更多信息请参阅 第 4.2.1 节 “配置外部 DHCP 服务器以与卫星服务器搭配使用”。
流程
安装
nfs-utils工具:# yum install nfs-utils
为 NFS 创建 DHCP 目录:
# mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
更改文件所有者:
# chown -R foreman-proxy /mnt/nfs
验证与 NFS 服务器和远程过程调用(RPC)通信路径的通信:
# showmount -e DHCP_Server_FQDN # rpcinfo -p DHCP_Server_FQDN
在
/etc/fstab文件中添加以下几行:DHCP_Server_FQDN:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0 DHCP_Server_FQDN:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
在
/etc/fstab中挂载文件系统:# mount -a
要验证
foreman-proxy用户可以访问通过网络共享的文件,请显示 DHCP 配置和租期文件:# su foreman-proxy -s /bin/bash bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases bash-4.2$ exit
输入
satellite-installer命令,对/etc/foreman-proxy/settings.d/dhcp.yml文件进行以下更改:# satellite-installer --foreman-proxy-dhcp=true \ --foreman-proxy-dhcp-provider=remote_isc \ --foreman-proxy-plugin-dhcp-remote-isc-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf \ --foreman-proxy-plugin-dhcp-remote-isc-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases \ --foreman-proxy-plugin-dhcp-remote-isc-key-name=omapi_key \ --foreman-proxy-plugin-dhcp-remote-isc-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw== \ --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911 \ --enable-foreman-proxy-plugin-dhcp-remote-isc \ --foreman-proxy-dhcp-server=DHCP_Server_FQDN重启
foreman-proxy服务:# systemctl restart foreman-proxy
- 在 Satellite Web UI 中,导航到 Infrastructure > Capsules。
- 找到卫星服务器,再从 Actions 列中的列表选择 Refresh。
- 将 DHCP 服务与适当的子网和域关联。
4.3. 使用外部 TFTP 配置卫星服务器
您可以使用外部 TFTP 服务配置卫星服务器。
流程
为 NFS 创建 TFTP 目录:
# mkdir -p /mnt/nfs/var/lib/tftpboot
在
/etc/fstab文件中,添加以下行:TFTP_Server_IP_Address:/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在
/etc/fstab中挂载文件系统:# mount -a
输入
satellite-installer命令,对/etc/foreman-proxy/settings.d/tftp.yml文件进行以下更改:# satellite-installer --foreman-proxy-tftp=true \ --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
如果 TFTP 服务在不同于 DHCP 服务的不同服务器中运行,请使用 TFTP 服务运行的服务器的 FQDN 或 IP 地址更新
tftp_servername设置:# satellite-installer --foreman-proxy-tftp-servername=TFTP_Server_FQDN- 在 Satellite Web UI 中,导航到 Infrastructure > Capsules。
- 找到卫星服务器,再从 Actions 列中的列表选择 Refresh。
- 将 TFTP 服务与适当的子网和域关联。
4.4. 使用外部 IdM DNS 配置 Satellite 服务器
当卫星服务器为主机添加 DNS 记录时,它首先确定为该域提供 DNS 的胶囊。然后,它将与配置为为您的部署提供 DNS 服务的胶囊通信,并添加记录。此过程中不涉及主机。因此,您必须在当前被配置为使用 IdM 服务器管理的域的 Satellite 或 Capsule 上安装和配置 IdM 客户端。
Satellite 服务器可以配置为使用 Red Hat Identity Management(IdM)服务器来提供 DNS 服务。有关 Red Hat Identity Management 的更多信息,请参阅 Linux 域身份、身份验证和策略指南。
要将 Satellite 服务器配置为使用 Red Hat Identity Management(IdM)服务器来提供 DNS 服务,请使用以下步骤之一:
要恢复到内部 DNS 服务,请使用以下步骤:
您不需要使用 Satellite 服务器来管理 DNS。当您使用 Satellite 的 realm 注册功能时,置备的主机会自动注册到 IdM,ipa-client-install 脚本会为客户端创建 DNS 记录。使用外部 IdM DNS 和域注册配置卫星服务器是互斥的。有关配置域注册的更多信息,请参阅 管理 Red Hat Satellite 指南中的 Provisioned 主机的外部身份验证。
4.4.1. 使用 GSS-TSIG 身份验证配置动态 DNS 更新
您可以将 IdM 服务器配置为使用 RFC3645 中定义的 secret 密钥事务(GSS-TSIG)技术的通用安全服务算法。要将 IdM 服务器配置为使用 GSS-TSIG 技术,您必须在 Satellite 服务器基础操作系统上安装 IdM 客户端。
先决条件
- 您必须确保 IdM 服务器已部署并正确配置基于主机的防火墙。如需更多信息,请参阅 Linux 域身份、身份验证和策略指南中的 端口要求。
- 您必须联系 IdM 服务器管理员,以确保在 IdM 服务器中获取具有在 IdM 服务器中创建的区的权限。
- 您必须确认 Satellite 服务器或胶囊服务器是否配置为为您的部署提供 DNS 服务。
- 您必须在用于管理用于部署的 DNS 服务的卫星或胶囊的基础操作系统上配置 DNS、DHCP 和 TFTP 服务。
- 您必须创建回答文件的备份。如果已损坏,您可以使用备份将回答文件恢复到其原始状态。如需更多信息,请参阅配置 Satellite 服务器。
流程
要使用 GSS-TSIG 身份验证配置动态 DNS 更新,请完成以下步骤:
在 IdM 服务器上创建 Kerberos 主体
获取从 IdM 管理员获取的帐户的 Kerberos ticket:
# kinit idm_user为 Satellite 服务器创建一个新的 Kerberos 主体,用于在 IdM 服务器中进行身份验证。
# ipa service-add satellite.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 Server
使用
satellite-installer命令配置管理域的 DNS 服务的 Satellite 或 Capsule:在 Satellite 上,输入以下命令:
satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --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 \ --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \ --foreman-proxy-dns-zone=example.com \ --foreman-proxy-dns-ttl=86400
在 Capsule 上,输入以下命令:
satellite-installer --scenario capsule \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --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 \ --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \ --foreman-proxy-dns-zone=example.com \ --foreman-proxy-dns-ttl=86400
重启 Satellite 或 Capsule 的代理服务。
# systemctl restart foreman-proxy
运行 satellite-installer 命令后,对胶囊配置进行任何更改,您必须在卫星 Web UI 中更新每个受影响的胶囊的配置。
在 Satellite Web UI 中更新配置
- 在卫星 Web UI 中,导航到 Infrastructure > Capsules,找到 Satellite 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 设置为连接子网的胶囊。
- 点 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 服务。
- 您必须创建回答文件的备份。如果已损坏,您可以使用备份将回答文件恢复到其原始状态。如需更多信息,请参阅配置 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用户手动分配给指定组。通常, satellite-installer 可确保foreman-proxy用户属于命名UNIX 组,但在这种情形中,卫星不管理用户和组,因此您需要手动将foreman-proxy用户分配给指定组。# usermod -a -G named foreman-proxy
在控制台中,输入以下
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 区
确保卫星服务器的
/etc/rndc.key文件中的密钥与 IdM 服务器上的 /etc/rndc.key 文件中的密钥相同:key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };在卫星服务器上,为主机创建一个测试 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在 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 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 Server 作为 DNS 提供程序恢复到。您可以使用配置外部 DNS 之前创建的回答文件备份,或者创建回答文件备份。有关回答文件的更多信息,请参阅 配置卫星服务器。
流程
在您要配置用来管理域的 DNS 服务的 Satellite 或 Capsule 服务器中,请完成以下步骤:
将 Satellite 或 Capsule 配置为 DNS 服务器
如果您在配置外部 DNS 前创建了回答文件的备份,请恢复回答文件,然后输入
satellite-installer命令:# satellite-installer
如果您没有回答文件的适当备份,请立即创建回答文件的备份。要在不使用回答文件的情况下将 Satellite 或 Capsule 配置为 DNS 服务器,请在 Satellite 上输入以下
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" \ --foreman-proxy-dns-tsig-principal="foremanproxy/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab如需更多信息,请参阅 在胶囊服务器上配置 DNS、DHCP 和 TFTP。
运行 satellite-installer 命令后,对胶囊配置进行任何更改,您必须在卫星 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 并选择子网名称。
- 在 子网 选项卡中,将 IPAM 设置为 DHCP 或内部数据库。
- 在 Domains 选项卡中,选择您要使用 Satellite 或 Capsule 管理的域。
- 在 Capsules 选项卡中,将 Reverse DNS Capsule 设置为连接子网的胶囊。
- 点 Submit 保存更改。
附录 A. 将自定义配置应用到 Red Hat Satellite
当您首次使用 satellite-installer 安装并配置 Satellite 时,您可以使用安装程序标志 --foreman-proxy-dns-managed=false 和 --foreman-proxy-dhcp-managed=false 指定 DNS 和 DHCP 配置文件不是由 Puppet 管理。如果在初始安装程序运行期间未指定这些标记,则重新运行安装程序会覆盖所有手动更改,例如在升级中重新运行。如果更改被覆盖,您必须运行恢复过程来恢复手动更改。如需更多信息,请参阅 Puppet 运行所写的手动更改。
要查看所有可用于自定义配置的安装程序标记,请运行 satellite-installer --scenario satellite --full-help。一些 Puppet 类不公开给卫星安装程序。要手动管理它们并防止安装程序覆盖其值,请通过向配置文件 /etc/foreman-installer/custom-hiera.yaml 添加条目来指定配置值。此配置文件采用 YAML 格式,每行包含一个条目,格式为 < puppet class>::<parameter name>: <value>。此文件中指定的配置值可在安装程序重新运行后保留。
常见示例包括:
对于 Apache,将 ServerTokens 指令设置为仅返回产品名称:
apache::server_tokens: Prod
要完全关闭 Apache 服务器签名:
apache::server_signature: Off
Satellite 安装程序的 Puppet 模块存储在 /usr/share/foreman-installer/modules 下。检查 .pp 文件(例如: moduleName/manifests/example.pp)来查找类、参数和值。或者,使用 grep 命令执行关键字搜索。
设置一些值可能会意外的后果影响 Red Hat Satellite 的性能或功能。先考虑更改的影响,然后再应用这些更改,并首先测试非生产环境的更改。如果您没有非生产环境,请使用 --noop 和 --verbose 选项运行 Satellite 安装程序。如果更改造成问题,请从 custom-hiera.yaml 中删除出错的行并重新运行 Satellite 安装程序。如果您对特定价值是否安全做任何特定问题,请联络红帽支持。
附录 B. 恢复由 Puppet 运行编写的手动更改
如果 Puppet 运行覆盖了手动配置,您可以将文件恢复到以前的状态。以下示例演示了如何恢复 Puppet 运行所覆盖的 DHCP 配置文件。
流程
复制您要恢复的 文件。这可让您比较文件来检查升级所需的任何强制更改。DNS 或 DHCP 服务不常见。
# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.backup
检查日志文件,以记下覆盖文件的 md5sum。例如:
# journalctl -xe ... /Stage[main]/Dhcp/File[/etc/dhcp/dhcpd.conf]: Filebucketed /etc/dhcp/dhcpd.conf to puppet with sum 622d9820b8e764ab124367c68f5fa3a1 ...
恢复覆盖的文件:
# puppet filebucket restore --local --bucket \ /var/lib/puppet/clientbucket /etc/dhcp/dhcpd.conf \ 622d9820b8e764ab124367c68f5fa3a1
- 比较备份文件和恢复的文件,并编辑恢复的文件,使其包含升级所需的任何强制更改。
附录 C. 将 Satellite Server 还原为从红帽 CDN 下载内容
如果您的环境无法连接,您可以重新配置非联网卫星服务器来直接从红帽 CDN 下载内容。
流程
- 在 Satellite Web UI 中,导航到 Content > Subscriptions。
- 单击 管理清单 按钮。
- 切换到 CDN Configuration 选项卡。
- 选择红帽 CDN。
编辑 URL 字段以指向红帽 CDN URL:
- 点 Update。
现在,卫星服务器已配置为在同步存储库时从红帽 CDN 下载内容。
CLI 过程
- 使用 SSH 登录卫星服务器。
使用 Hammer 重新配置 CDN:
# hammer organization configure-cdn --name="My_Organization" --type=redhat_cdn