3.13. 设置 DHCP 转发代理
DHCP 中继代理(dhcrelay)可以将来自没有 DHCP 服务器的子网的 DHCP 和 BOOTP 请求中继到其他子网上的一个或多个 DHCP 服务器。当 DHCP 客户端请求信息时,DHCP 转发代理会将该请求转发到指定的 DHCP 服务器列表。当 DHCP 服务器返回一个回复时,DHCP 转发代理会将此请求转发给客户端。
根据您要为 IPv4、IPv6 或两个协议设置 DHCP 转发,请查看以下操作过程:
先决条件
-
已以
root用户身份登录。
步骤
对于 IPv4 网络:
安装
dhcp-relay软件包:dnf install dhcp-relay
# dnf install dhcp-relayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/lib/systemd/system/dhcrelay.service文件复制到/etc/systemd/system/目录中:cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/
# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 不要编辑
/usr/lib/systemd/system/dhcrelay.service文件。dhcp-relay软件包的未来更新可能会覆盖更改。编辑
/etc/systemd/system/dhcrelay.service文件,并追加-i interface参数以及负责该子网的 DHCPv4 服务器的 IP 地址列表:ExecStart=/usr/sbin/dhcrelay -d --no-pid -i enp1s0 192.0.2.1
ExecStart=/usr/sbin/dhcrelay -d --no-pid -i enp1s0 192.0.2.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用这些额外的参数,
dhcrelay会侦听enp1s0接口上的 DHCPv4 请求,并将它们转发到 IP 为192.0.2.1的 DHCP 服务器。重新加载
systemd管理器配置:systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:配置在系统引导时启动
dhcrelay服务:systemctl enable dhcrelay.service
# systemctl enable dhcrelay.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
dhcrelay服务:systemctl start dhcrelay.service
# systemctl start dhcrelay.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
对于 IPv6 网络:
安装
dhcp-relay软件包:dnf install dhcp-relay
# dnf install dhcp-relayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/lib/systemd/system/dhcrelay.service文件复制到/etc/systemd/system/目录中,并将其命名为dhcrelay6.service:cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.service
# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 不要编辑
/usr/lib/systemd/system/dhcrelay.service文件。dhcp-relay软件包的未来更新可能会覆盖更改。编辑
/etc/systemd/system/dhcrelay6.service文件,并追加-l receiving_interface和-u outgoing_interface参数:ExecStart=/usr/sbin/dhcrelay -d --no-pid -l enp1s0 -u enp7s0
ExecStart=/usr/sbin/dhcrelay -d --no-pid -l enp1s0 -u enp7s0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用这些额外的参数,
dhcrelay会侦听enp1s0接口上的 DHCPv6 请求,并将它们转发给连接到enp7s0接口的网络。重新加载
systemd管理器配置:systemctl daemon-reload
# systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:配置在系统引导时启动
dhcrelay6服务:systemctl enable dhcrelay6.service
# systemctl enable dhcrelay6.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 启动
dhcrelay6服务:systemctl start dhcrelay6.service
# systemctl start dhcrelay6.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow