如何配置NetworkManager持续尝试DHCP请求以恢复网络连接?
解决NetworkManager DHCP请求停止问题:设置持续尝试获取租约
我之前也碰到过一模一样的情况——路由器断电后,台式机的DHCP租约到期,NetworkManager试了几次就停了,路由器恢复后死活不自动重新请求,非得手动重启连接才行。下面是几个亲测有效的配置方法,能让它持续尝试DHCP请求:
方法一:临时调整当前连接(立即生效,重启后失效)
- 先找出你的以太网连接名称,执行命令:
输出里会列出所有连接,找到对应的有线连接名(比如nmcli connection showWired connection 1)。 - 修改该连接的DHCP重试策略为无限重试:
如果你不想无限重试,也可以换成具体次数(比如nmcli connection modify "Wired connection 1" ipv4.dhcp-retry infinite nmcli connection up "Wired connection 1"20),但无限重试更适配路由器断电恢复的场景。
方法二:永久配置(重启后依然生效)
- NetworkManager的连接配置文件默认存放在
/etc/NetworkManager/system-connections/目录下,找到对应连接的.nmconnection文件(文件名通常就是连接名)。 - 用文本编辑器打开这个文件(需要sudo权限),找到
[ipv4]小节,添加或修改以下配置项:
如果原本就有dhcp-retry=infinitedhcp-retry这一行,直接把值改成infinite即可。 - 保存文件后,重启NetworkManager服务让配置生效:
或者直接重新激活连接:sudo systemctl restart NetworkManagernmcli connection up "你的连接名"
额外确认:DHCP客户端的重试设置
部分系统会用dhclient作为底层DHCP客户端,你可以检查它的配置文件/etc/dhcp/dhclient.conf,确保没有限制重试次数的设置。如果里面有类似retry 5的行,可以改成retry infinite或者调大数值。不过一般来说,NetworkManager的配置已经能覆盖这个,这一步算是兜底检查。
配置完成后,下次路由器断电恢复时,NetworkManager会持续发送DHCP请求,一旦路由器上线就能自动获取租约并联网,再也不用手动重启连接了。
内容的提问来源于stack exchange,提问作者liori
相关产品推荐
相关产品推荐

