4.2. 使用外部 DHCP 配置 Capsule 服务器
要使用外部 DHCP 配置 Capsule 服务器,您必须完成以下步骤:
4.2.1. 配置外部 DHCP 服务器以用于胶囊服务器 复制链接链接已复制到粘贴板!
要将运行 Red Hat Enterprise Linux 的外部 DHCP 服务器配置为 Capsule 服务器,您必须安装 ISC DHCP 服务和 Berkeley Internet 名称域(BIND)工具软件包。您还必须与胶囊服务器共享 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-utils
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 生成安全令牌:
tsig-keygen -a hmac-md5 omapi_key
# tsig-keygen -a hmac-md5 omapi_key
Copy 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 dhcp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使更改持久:
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanent
Copy 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 990
Copy 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 foreman
Copy 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.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用并启动 DHCP 服务:
systemctl enable --now dhcpd
# systemctl enable --now dhcpd
Copy 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-server
Copy 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/dhcp
Copy 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 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/etc/fstab
中挂载文件系统:mount -a
# mount -a
Copy 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 -rva
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 DHCP omapi 端口 7911 配置防火墙:
firewall-cmd --add-port=7911/tcp
# firewall-cmd --add-port=7911/tcp
Copy 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 public
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使更改持久:
firewall-cmd --runtime-to-permanent
# firewall-cmd --runtime-to-permanent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2.2. 使用外部 DHCP 服务器配置 Satellite 服务器 复制链接链接已复制到粘贴板!
您可以使用外部 DHCP 服务器配置 Capsule 服务器。
先决条件
- 确保您已配置了外部 DHCP 服务器,并且您已使用 Capsule 服务器共享 DHCP 配置和租期文件。更多信息请参阅 第 4.2.1 节 “配置外部 DHCP 服务器以用于胶囊服务器”。
流程
安装
nfs-utils
软件包:satellite-maintain packages install nfs-utils
# satellite-maintain packages install nfs-utils
Copy 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/dhcpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更改文件所有者:
chown -R foreman-proxy /mnt/nfs
# chown -R foreman-proxy /mnt/nfs
Copy 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_FQDN
Copy 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 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
/etc/fstab
中挂载文件系统:mount -a
# mount -a
Copy 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 $ exit
Copy 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 服务与适当的子网和域关联。