执行 service network restart 之后,dhcpd无法分配IP地址


两台机器都是4网卡聚合配置,并且使用了 vlan
聚合、VLAN配置如下
bond0 -> em1, em2, em3, em4
-> bond0.10 VLAN ID = 10

各节点网卡配置
节点A:
bond0.10 => ip=192.168.254.1 mask=255.255.255.0
dhcp.conf:


 subnet 192.168.254.0 netmask 255.255.255.0 {
    range 192.168.254.2 192.168.254.254;
}

节点B:
bond0.10 => dhcp=yes

dhcpd 版本:
isc-dhcpd-4.2.7

dhclient 版本:
isc-dhclient-4.2.7

正常获取到IP:
节点B操作:
ifup bond0.10

结果:
成功获取到IP:192.168.254.2

重启服务之后无法获取到IP:
节点A操作:
service network restart

节点B操作:
service network restart

结果:
节点B的bond0.10无法获取到IP:192.168.254.2

仅仅重启 bond0 成功获取到IP:
节点A
ifdown bond0;ifup bond0

节点B
ifdown bond0;ifup bond0

结果
节点Bbond0.10能够获取到IP:192.168.254.2

看上面的结果,执行了 service network restart 之后就无法正常获取IP了
必须要重启 dhcpd 服务才能再次获取到IP
并且节点A能够抓到节点B发出的dhcp请求包

但是看了一下 network 脚本的具体操作,会执行
netfs的重启
然后读网卡配置文件,根据设备类型做不同的重启操作
然后是ifdown ifup一些没在上面重启过的网卡
最后是 关闭 ip转发功能
以及ipv6的钩子,解锁

所以不知道是哪个步骤导致的dhcp无法分配到IP

Linux dhcp

忘却的海洋 10 years, 1 month ago

Your Answer