dhclient.conf配置参数timeout和retry的含义

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。

retry代码分析

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,/etc/resolv.conf文件是用来配置DNS(Domain Name System)解析器的文件。它保存了系统用于解析域名的DNS服务器的地址。 当系统重启后,/etc/resolv.conf文件的内容可能会被更新掉。这个问题可能是由多种情况引起的,其中之一是NetworkManager服务。NetworkManager是一个管理网络连接的守护进程,它可以通过动态配置网络接口来更新/resolv.conf文件的内容。其他情况可能包括使用dhclient命令或其他网络管理工具来更新/resolv.conf文件。 为了解决这个问题,你可以尝试以下几种方法: 1. 如果你使用的是NetworkManager服务,你可以通过编辑NetworkManager的配置文件来避免/resolv.conf文件被更新。你可以修改/etc/NetworkManager/NetworkManager.conf文件,在其中的[main]部分添加"dns=none"来禁用NetworkManager对/resolv.conf文件的更新。然后重启NetworkManager服务。 2. 如果你使用dhclient命令来配置网络接口,你可以编辑/etc/dhcp/dhclient.conf文件,将"prepend domain-name-servers"行前面的注释符号"#"去掉,并在后面添加你想要使用的DNS服务器的IP地址。保存文件后,重新启动dhclient服务即可。 3. 如果你使用其他网络管理工具,可以查找相关的文档或配置文件,了解如何更改/resolv.conf文件的更新行为。 需要注意的是,每种方法适用的情况可能有所不同,请根据你的具体情况选择适合的方法进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值