我有一台运行带有8个networking接口的Centos 7的机器。 我有三个configuration和运行的接口。
我configuration了dhcpd来处理本地lan接口。
我在syslog中为未configuration的接口收到以下警告:
No subnet declaration for enp6s0 (no IPv4 addresses). ** Ignoring requests on enp6s0. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface enp6s0 is attached. **
在过去,我将编辑/ etc / syslog / dhcpd来指示要侦听的接口。 但是那个文件现在说不这样做,并为接口指定一个子网。
这些未使用的接口没有地址,所以我没有看到如何为他们写一个子网configuration。
有没有一种替代方法让dhcpd忽略这些接口?
首先编辑 –
这样做到现有子网声明使警告消失:
subnet xx.xx.xx.xx mask yy.yy.yy.yy { interface zzzzzz; .... subnet declaration }
但是,我可以find零个文档,显示子网的接口选项。 我觉得这很奇怪。
解决办法是告诉dhcpd它不应该监视这些接口。 默认情况下,dhcpd将尝试监视所有具有广播function的接口,但是您可以在命令行上指定要pipe理的接口的明确列表。 检查dhcpd的启动脚本,你会发现一个地方,你可以插入你想运行的特定ethN。
或者你可以忽略这个警告。 这只是告诉你,由于潜在的错误configuration,你可能得不到预期的结果。 你已经隐式地要求dhcpd监视所有的接口,并让它知道它不能。
我相信/etc/sysconfig/dhcpd
指示如何限制在$ {RHELish} 7系统上systemd上侦听的接口:
cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system sed -i '/^ExecStart/s/$/ blah0 blah1 .../' /etc/systemd/system/dhcpd.service systemctl --system daemon-reload systemctl restart dhcpd.service
RHEL6
将/ etc / sysconfig / dhcpd中的DHCPDARGS设置为只包含那些守护进程要监听的接口(例如,eth0 eth1忽略eth3):
DHCPDARGS =“eth0 eth1”
将DHCPDARGSfunction恢复到RHEL7
# cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/ # vi /etc/systemd/system/dhcpd.service # ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $DHCPDARGS # systemctl --system daemon-reload # systemctl restart dhcpd.service