dhclient.conf配置参数timeout和retry的含义,容易混淆。这里记录下。
timeout
- 指尝试dhcp获取的timeout超时时间。retry
- 指dhcp获取失败后的sleep时间,sleep后再次尝试获取。需要注意的是dhclient会阻塞/etc/sysconfig/network-script/ifcfg-eth0
脚本,直至dhcp获取成功或timeout超时失败,失败后,dhclient会变成后台运行状态(除非执行的是dhclient -1
命令)。
然而 /etc/sysconfig/network-script/ifcfg-eth0 的逻辑是先初始化ipv4,再初始化ipv6,因此ipv4 dhcp失败会 阻塞 ipv6的初始化。因此,可设置timeout短些,以便在ipv4 dhcp失败的情况下,快速初始化ipv6。
https://github.com/HardenedBSD/hardenedBSD/blob/0367a0bdc28dbb54b40fca89a2db888077252d55/sbin/dhclient/dhclient.c#L1454
https://github.com/HardenedBSD/hardenedBSD/blob/hardened/current/master/sbin/dhclient/clparse.c#L258