5.2. 使用外部 DHCP 配置卫星服务器
要使用外部 DHCP 配置 Satellite 服务器,您必须完成以下步骤:
5.2.1. 配置外部 DHCP 服务器以与卫星服务器搭配使用
要将外部 DHCP 服务器配置为与卫星服务器一起使用,在 Red Hat Enterprise Linux 服务器上,您必须安装 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 Server 服务器中,安装 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