4.2. 使用外部 DHCP 配置 Satellite 服务器
要使用外部 DHCP 配置 Satellite 服务器,您必须完成以下步骤:
4.2.1. 配置外部 DHCP 服务器以用于 Satellite 服务器 复制链接链接已复制到粘贴板!
要将运行 Red Hat Enterprise Linux 的外部 DHCP 服务器配置为 Satellite 服务器,您必须安装 ISC DHCP 服务和 Berkeley Internet 名称域(BIND)工具软件包。您还必须与 Satellite 服务器共享 DHCP 配置和租期文件。此流程中的示例使用分布式网络文件系统(NFS)协议共享 DHCP 配置和租期文件。
如果您使用 dnsmasq 作为外部 DHCP 服务器,请启用 dhcp-no-override 设置。这是必要的,因为 Satellite 在 grub2/ 子目录下的 TFTP 服务器上创建配置文件。如果 dhcp-no-override 设置被禁用,主机会从根目录获取引导装载程序及其配置,这可能会导致错误。
流程
在 Red Hat Enterprise Linux 主机上,安装 ISC DHCP Service 和 Berkeley Internet Name Domain (BIND)工具软件包:
dnf install dhcp-server bind-utils
# dnf install dhcp-server bind-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 生成安全令牌:
tsig-keygen -a hmac-md5 omapi_key
# tsig-keygen -a hmac-md5 omapi_keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑所有子网的
dhcpd配置文件并添加tsig-keygen生成的密钥。以下是一个示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,
选项router 值是您要与外部 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 --add-service dhcpCopy 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 在 Satellite 服务器上,确定
foreman用户的 UID 和 GID:id -u foreman id -g foreman
# id -u foreman 993 # id -g foreman 990Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 DHCP 服务器上,创建
foreman用户和组,其 ID 与上一步中决定的相同:groupadd -g 990 foreman useradd -u 993 -g 990 -s /sbin/nologin foreman
# groupadd -g 990 foreman # useradd -u 993 -g 990 -s /sbin/nologin foremanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要确保配置文件可以访问,请恢复 read 和 execute 标记:
chmod o+rx /etc/dhcp/ chmod o+r /etc/dhcp/dhcpd.conf chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
# chmod o+rx /etc/dhcp/ # chmod o+r /etc/dhcp/dhcpd.conf # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启用并启动 DHCP 服务:
systemctl enable --now dhcpd
# systemctl enable --now dhcpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 NFS 导出 DHCP 配置和租期文件:
dnf install nfs-utils systemctl enable --now nfs-server
# dnf install nfs-utils # systemctl enable --now nfs-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为您要使用 NFS 导出的 DHCP 配置和租期文件创建目录:
mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
# mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要为创建的目录创建挂载点,请在
/etc/fstab文件中添加以下行:/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/etc/fstab中挂载文件系统:mount -a
# mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保
/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)
/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)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,您输入的 IP 地址是您要用于外部 DHCP 服务的 Satellite 或 Capsule IP 地址。
重新载入 NFS 服务器:
exportfs -rva
# exportfs -rvaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 DHCP omapi 端口 7911 配置防火墙:
firewall-cmd --add-port=7911/tcp
# firewall-cmd --add-port=7911/tcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:配置防火墙以从外部访问 NFS。客户端使用 NFSv3 配置。
firewall-cmd \ --add-service mountd \ --add-service nfs \ --add-service rpc-bind \ --zone public
# firewall-cmd \ --add-service mountd \ --add-service nfs \ --add-service rpc-bind \ --zone publicCopy 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
4.2.2. 使用外部 DHCP 服务器配置 Satellite 服务器 复制链接链接已复制到粘贴板!
您可以使用外部 DHCP 服务器配置 Satellite 服务器。
先决条件
- 确保您已配置了外部 DHCP 服务器,并且您已使用 Satellite 服务器共享 DHCP 配置和租期文件。更多信息请参阅 第 4.2.1 节 “配置外部 DHCP 服务器以用于 Satellite 服务器”。
流程
安装
nfs-utils软件包:satellite-maintain packages install nfs-utils
# satellite-maintain packages install nfs-utilsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 NFS 创建 DHCP 目录:
mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
# mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更改文件所有者:
chown -R foreman-proxy /mnt/nfs
# chown -R foreman-proxy /mnt/nfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证与 NFS 服务器和远程过程调用(RPC)通信路径的通信:
showmount -e DHCP_Server_FQDN rpcinfo -p DHCP_Server_FQDN
# showmount -e DHCP_Server_FQDN # rpcinfo -p DHCP_Server_FQDNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/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
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 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/etc/fstab中挂载文件系统:mount -a
# mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证
foreman-proxy用户可以访问通过网络共享的文件,请显示 DHCP 配置和租期文件:su foreman-proxy -s /bin/bash cat /mnt/nfs/etc/dhcp/dhcpd.conf cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases exit
# su foreman-proxy -s /bin/bash $ cat /mnt/nfs/etc/dhcp/dhcpd.conf $ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases $ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入
satellite-installer命令,对/etc/foreman-proxy/settings.d/dhcp.yml文件进行以下更改:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将 DHCP 服务与适当的子网和域关联。