5.2. 使用外部 DHCP 配置 Satellite 服务器


要使用外部 DHCP 配置 Satellite 服务器,您必须完成以下步骤:

5.2.1. 配置外部 DHCP 服务器以用于 Satellite 服务器

要将运行 Red Hat Enterprise Linux 的外部 DHCP 服务器配置为与 Satellite 服务器搭配使用,您必须安装 ISC DHCP Service 和 Berkeley Internet Name Domain (BIND)或其实用程序软件包。您还必须与 Satellite 服务器共享 DHCP 配置和租期文件。此流程中的示例使用分布式网络文件系统(NFS)协议来共享 DHCP 配置和租期文件。

注意

如果您使用 dnsmasq 作为外部 DHCP 服务器,请启用 dhcp-no-override 设置。这是必要的,因为 Satellite 在 grub2/ 子目录下在 TFTP 服务器上创建配置文件。如果禁用了 dhcp-no-override 设置,客户端会从根目录中获取引导装载程序及其配置,这可能会导致错误。

流程

  1. 在您的 Red Hat Enterprise Linux 主机上,根据您的主机版本安装 ISC DHCP Service 和 BIND 软件包。

    • 对于 Red Hat Enterprise Linux 7 主机:

      Copy to Clipboard Toggle word wrap
      # yum install dhcp bind
    • 对于 Red Hat Enterprise Linux 8 主机:

      Copy to Clipboard Toggle word wrap
      # yum install dhcp-server bind-utils
  2. 生成安全令牌:

    Copy to Clipboard Toggle word wrap
    # dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key

    因此,当前目录中会创建一个由两个文件组成的密钥对。

  3. 从密钥复制 secret 哈希:

    Copy to Clipboard Toggle word wrap
    # grep ^Key Komapi_key.+*.private | cut -d ' ' -f2
  4. 编辑所有子网的 dhcpd 配置文件并添加密钥。以下是一个示例:

    Copy to Clipboard Toggle word wrap
    # 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;

    请注意,options router 值是您要与外部 DHCP 服务一起使用的 Satellite 或 Capsule IP 地址。

  5. 从在其中创建的目录中删除两个密钥文件。
  6. 在 Satellite 服务器上,定义每个子网。不要为定义的子网设置 DHCP Capsule。

    要防止冲突,请单独设置租期和保留范围。例如,如果租期范围为 192.168.38.10 到 192.168.38.100,在 Satellite Web UI 中将保留范围定义为 192.168.38.101 到 192.168.38.250。

  7. 配置防火墙以从外部访问 DHCP 服务器:

    Copy to Clipboard Toggle word wrap
    # firewall-cmd --add-service dhcp \
    && firewall-cmd --runtime-to-permanent
  8. 在 Satellite 服务器上,确定 foreman 用户的 UID 和 GID:

    Copy to Clipboard Toggle word wrap
    # id -u foreman
    993
    # id -g foreman
    990
  9. 在 DHCP 服务器上,使用与上一步中确定相同的 ID 创建 foreman 用户和组:

    Copy to Clipboard Toggle word wrap
    # groupadd -g 990 foreman
    # useradd -u 993 -g 990 -s /sbin/nologin foreman
  10. 要确保配置文件可以访问,请恢复 read 和 execute 标记:

    Copy to Clipboard Toggle word wrap
    # chmod o+rx /etc/dhcp/
    # chmod o+r /etc/dhcp/dhcpd.conf
    # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
  11. 启动 DHCP 服务:

    Copy to Clipboard Toggle word wrap
    # systemctl start dhcpd
  12. 使用 NFS 导出 DHCP 配置和租期文件:

    Copy to Clipboard Toggle word wrap
    # yum install nfs-utils
    # systemctl enable rpcbind nfs-server
    # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
  13. 为您要使用 NFS 导出的 DHCP 配置和租期文件创建目录:

    Copy to Clipboard Toggle word wrap
    # mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
  14. 要为创建的目录创建挂载点,请在 /etc/fstab 文件中添加以下行:

    Copy to Clipboard Toggle word wrap
    /var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0
    /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
  15. /etc/fstab 中挂载文件系统:

    Copy to Clipboard Toggle word wrap
    # mount -a
  16. 确保 /etc/exports 中存在以下行:

    Copy to Clipboard Toggle word wrap
    /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 地址。

  17. 重新载入 NFS 服务器:

    Copy to Clipboard Toggle word wrap
    # exportfs -rva
  18. 为 DHCP omapi 端口 7911 配置防火墙:

    Copy to Clipboard Toggle word wrap
    # firewall-cmd --add-port=7911/tcp
    # firewall-cmd --runtime-to-permanent
  19. 可选:配置防火墙以从外部访问 NFS。客户端使用 NFSv3 配置。

    Copy to Clipboard Toggle word wrap
    # 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

5.2.2. 使用外部 DHCP 服务器配置 Satellite 服务器

您可以使用外部 DHCP 服务器配置 Satellite 服务器。

前提条件

流程

  1. 安装 nfs-utils 工具:

    Copy to Clipboard Toggle word wrap
    # yum install nfs-utils
  2. 为 NFS 创建 DHCP 目录:

    Copy to Clipboard Toggle word wrap
    # mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
  3. 更改文件所有者:

    Copy to Clipboard Toggle word wrap
    # chown -R foreman-proxy /mnt/nfs
  4. 验证与 NFS 服务器和远程过程调用(RPC)通信路径的通信:

    Copy to Clipboard Toggle word wrap
    # showmount -e DHCP_Server_FQDN
    # rpcinfo -p DHCP_Server_FQDN
  5. /etc/fstab 文件中添加以下行:

    Copy to Clipboard Toggle word wrap
    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
  6. /etc/fstab 中挂载文件系统:

    Copy to Clipboard Toggle word wrap
    # mount -a
  7. 要验证 foreman-proxy 用户可以访问通过网络共享的文件,请显示 DHCP 配置和租期文件:

    Copy to Clipboard Toggle word wrap
    # 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
  8. 输入 satellite-installer 命令,对 /etc/foreman-proxy/settings.d/dhcp.yml 文件进行以下更改:

    Copy to Clipboard Toggle word wrap
    # 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
  9. 重启 foreman-proxy 服务:

    Copy to Clipboard Toggle word wrap
    # systemctl restart foreman-proxy
  10. 在 Satellite Web UI 中,导航到 Infrastructure > Capsules
  11. 找到 Satellite 服务器,然后从 Actions 列中的列表中选择 Refresh
  12. 将 DHCP 服务与适当的子网和域关联。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.