3.13. 设置 DHCP 转发代理
DHCP 中继代理(dhcrelay
)可以将来自没有 DHCP 服务器的子网的 DHCP 和 BOOTP 请求中继到其他子网上的一个或多个 DHCP 服务器。当 DHCP 客户端请求信息时,DHCP 转发代理会将该请求转发到指定的 DHCP 服务器列表。当 DHCP 服务器返回一个回复时,DHCP 转发代理会将此请求转发给客户端。
根据您要为 IPv4、IPv6 或两个协议设置 DHCP 转发,请查看以下操作过程:
先决条件
-
已以
root
用户身份登录。
步骤
对于 IPv4 网络:
安装
dhcp-relay
软件包:# yum install dhcp-relay
将
/lib/systemd/system/dhcrelay.service
文件复制到/etc/systemd/system/
目录中:# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/
不要编辑
/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
使用这些额外的参数,
dhcrelay
会侦听enp1s0
接口上的 DHCPv4 请求,并将它们转发到 IP 为192.0.2.1
的 DHCP 服务器。重新加载
systemd
管理器配置:# systemctl daemon-reload
(可选)配置在系统引导时启动
dhcrelay
服务:# systemctl enable dhcrelay.service
启动
dhcrelay
服务:# systemctl start dhcrelay.service
对于 IPv6 网络:
安装
dhcp-relay
软件包:# yum install dhcp-relay
将
/lib/systemd/system/dhcrelay.service
文件复制到/etc/systemd/system/
目录中,并将其命名为dhcrelay6.service
:# cp /lib/systemd/system/dhcrelay.service /etc/systemd/system/dhcrelay6.service
不要编辑
/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
使用这些额外的参数,
dhcrelay
会侦听enp1s0
接口上的 DHCPv6 请求,并将它们转发给连接到enp7s0
接口的网络。重新加载
systemd
管理器配置:# systemctl daemon-reload
(可选)配置在系统引导时启动
dhcrelay6
服务:# systemctl enable dhcrelay6.service
启动
dhcrelay6
服务:# systemctl start dhcrelay6.service
其他资源
-
dhcrelay(8)
手册页