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


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

5.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 设置被禁用,主机会从根目录获取引导装载程序及其配置,这可能会导致错误。

流程

  1. 在 Red Hat Enterprise Linux 主机上,安装 ISC DHCP Service 和 Berkeley Internet Name Domain (BIND)工具软件包:

    # dnf install dhcp-server bind-utils
    Copy to Clipboard
  2. 生成安全令牌:

    # tsig-keygen -a hmac-md5 omapi_key
    Copy to Clipboard
  3. 编辑所有子网的 dhcpd 配置文件并添加 tsig-keygen 生成的密钥。以下是一个示例:

    # 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 "My_Secret";
    };
    omapi-key omapi_key;
    Copy to Clipboard

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

  4. 在服务器上,定义每个子网。不要为定义的子网设置 DHCP Capsule。

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

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

    # firewall-cmd --add-service dhcp
    Copy to Clipboard
  6. 使更改持久:

    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard
  7. 在 Satellite 服务器上,确定 foreman 用户的 UID 和 GID:

    # id -u foreman
    993
    # id -g foreman
    990
    Copy to Clipboard
  8. 在 DHCP 服务器上,创建 foreman 用户和组,其 ID 与上一步中决定的相同:

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

    # chmod o+rx /etc/dhcp/
    # chmod o+r /etc/dhcp/dhcpd.conf
    # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
    Copy to Clipboard
  10. 启用并启动 DHCP 服务:

    # systemctl enable --now dhcpd
    Copy to Clipboard
  11. 使用 NFS 导出 DHCP 配置和租期文件:

    # dnf install nfs-utils
    # systemctl enable --now nfs-server
    Copy to Clipboard
  12. 为您要使用 NFS 导出的 DHCP 配置和租期文件创建目录:

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

    /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
  14. /etc/fstab 中挂载文件系统:

    # mount -a
    Copy to Clipboard
  15. 确保 /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)
    Copy to Clipboard

    请注意,您输入的 IP 地址是您要用于外部 DHCP 服务的 Satellite 或 Capsule IP 地址。

  16. 重新载入 NFS 服务器:

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

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

    # firewall-cmd \
    --add-service mountd \
    --add-service nfs \
    --add-service rpc-bind \
    --zone public
    Copy to Clipboard
  19. 使更改持久:

    # firewall-cmd --runtime-to-permanent
    Copy to Clipboard

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

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

先决条件

流程

  1. 安装 nfs-utils 软件包:

    # satellite-maintain packages install nfs-utils
    Copy to Clipboard
  2. 为 NFS 创建 DHCP 目录:

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

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

    # showmount -e DHCP_Server_FQDN
    # rpcinfo -p DHCP_Server_FQDN
    Copy to Clipboard
  5. /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
    Copy to Clipboard
  6. /etc/fstab 中挂载文件系统:

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

    # satellite-installer \
    --enable-foreman-proxy-plugin-dhcp-remote-isc \
    --foreman-proxy-dhcp-provider=remote_isc \
    --foreman-proxy-dhcp-server=My_DHCP_Server_FQDN \
    --foreman-proxy-dhcp=true \
    --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=My_Secret \
    --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911
    Copy to Clipboard
  9. 将 DHCP 服务与适当的子网和域关联。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat