3.7. 为 DHCP 服务器设置网络接口
默认情况下,dhcpd
服务仅处理网络接口上的请求,该接口在在服务的配置文件有一个在子网中定义的 IP 地址。
例如,在以下场景中,dhcpd
仅侦听 enp0s1
网络接口:
-
在
/etc/dhcp/dhcpd.conf
文件中,您只有 192.0.2.0/24 的子网
定义。 -
enp0s1
网络接口连接到 192.0.2.0/24 子网。 -
enp7s0
接口连接到不同的子网。
只有 DHCP 服务器包含连接到同一网络的多个网络接口,但服务应该只侦听特定的接口时,才应按照以下流程操作。
根据您要为 IPv4、IPv6 或两个协议提供 DHCP 的信息,请查看以下操作过程:
先决条件
-
已以
root
用户身份登录。 -
dhcp-server
软件包已安装。
步骤
对于 IPv4 网络:
将
/usr/lib/systemd/system/dhcpd.service
文件复制到/etc/systemd/system/
目录中:# cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
不要编辑
/usr/lib/systemd/system/dhcpd.service
文件。dhcp-server
软件包的未来更新可以覆盖更改。编辑
/etc/systemd/system/dhcpd.service
文件,并追加接口名称,dhcpd
应该侦听ExecStart
参数中的命令:ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS enp0s1 enp7s0
本例配置了
dhcpd
仅侦听enp0s1
和enp7s0
接口。重新加载
systemd
管理器配置:# systemctl daemon-reload
重启
dhcpd
服务:# systemctl restart dhcpd.service
对于 IPv6 网络:
将
/usr/lib/systemd/system/dhcpd6.service
文件复制到/etc/systemd/system/
目录中:# cp /usr/lib/systemd/system/dhcpd6.service /etc/systemd/system/
不要编辑
/usr/lib/systemd/system/dhcpd6.service
文件。dhcp-server
软件包的未来更新可以覆盖更改。编辑
/etc/systemd/system/dhcpd6.service
文件,并追加接口名称,dhcpd
应该侦听ExecStart
参数中的命令:ExecStart=/usr/sbin/dhcpd -f -6 -cf /etc/dhcp/dhcpd6.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS enp0s1 enp7s0
本例配置了
dhcpd
仅侦听enp0s1
和enp7s0
接口。重新加载
systemd
管理器配置:# systemctl daemon-reload
重启
dhcpd6
服务:# systemctl restart dhcpd6.service