Linux怎么配置DHCP客户端重新获取动态IP

风杰酱_1106

风杰酱_1106

2026-10-08

585人浏览

原创

linux断网时若ifconfig显示ip为空或169.254.x.x,表明dhcp失效,应优先用nmcli强制刷新连接:查激活连接→修改忽略路由→先down再up;若networkmanager未启用,则用sudo dhclient -r && sudo dhclient重获租约,并验证ip、网关连通性及dns解析。

linux怎么配置dhcp客户端重新获取动态ip

Linux系统突然断网,ping不通网关,ifconfig显示IP地址为空或为169.254.x.x,说明DHCP租约已失效或获取失败,必须让客户端主动重新走一遍DHCP流程,而不是简单重启网卡。

确认当前网络接口与DHCP状态

运行 ip -br a 查看所有接口的简明状态,重点关注是否有UP状态但无IPv4地址的接口,比如 enp0s3 UP 192.168.1.100/24 表示正常,而 enp0s3 UP <no link></no> 或 enp0s3 UP <no address></no> 则说明物理连接异常或DHCP未响应。

再执行 nmcli device show,找到目标接口(如enp0s3)对应的 GENERAL.STATE 和 IP4.ADDRESS[1] 字段——若地址为空且状态为“unmanaged”或“unavailable”,NetworkManager并未接管该设备,后续dhclient命令可能被忽略。

这一步不能跳过。很多用户直接敲 dhclient enp0s3 却没反应,就是因为NetworkManager正在独占控制权,强行使用dhclient会触发冲突甚至导致路由表错乱。

用nmcli强制刷新DHCP连接(推荐首选)

第一步:查出当前激活的有线连接名称,运行 nmcli connection show --active | grep ethernet,输出类似 有线连接 1 802-3-ethernet enp0s3。

第二步:释放旧租约并触发全新请求,执行:
nmcli connection modify "有线连接 1" ipv4.ignore-auto-routes yes && nmcli connection down "有线连接 1" && nmcli connection up "有线连接 1"

第三步:等待3~5秒后,立即检查结果:nmcli device show enp0s3 | grep IP4.ADDRESS。如果返回空行,说明DHCP服务器无响应或防火墙阻断了UDP 67/68端口。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载

【关键前提】 此方法仅在NetworkManager服务正在运行且接口已由其管理时有效。若系统为最小化安装(如CentOS Stream服务器),默认可能未启用NetworkManager,此时该命令会报错“no such connection”。

用dhclient直连DHCP服务器(绕过NetworkManager)

方法一:基础重获
sudo dhclient -r enp0s3 && sudo dhclient enp0s3

方法二:带调试日志,便于排查失败原因
sudo dhclient -v -timeout 10 enp0s3 ——加 -v 显示详细交互过程,-timeout 10 防止卡死在无响应服务器上。

方法三:强制清除所有租约文件并重试(适用于多次失败后残留脏数据)
先删掉租约缓存:sudo rm /var/lib/dhcp/dhclient.*.leases,再执行 sudo dhclient -nw enp0s3。
-nw 表示“no wait”,避免因后台进程残留导致命令挂起;此操作会跳过读取旧租约,从头发起Discover广播。

注意:某些发行版(如Ubuntu 24.04)默认将dhclient设为systemd服务托管,直接调用可能被自动终止。若发现执行后几秒IP又消失,需先停用服务:sudo systemctl stop systemd-networkd && sudo systemctl disable systemd-networkd。

验证新IP是否生效并连通外网

运行 ip -4 addr show dev enp0s3 | grep inet,确认输出中包含合法的私有网段地址(如192.168.x.x、10.x.x.x),而非169.254.x.x链路本地地址。

接着测试三层连通性:ping -c3 $(ip route | awk '/default/ {print $3}') ——这条命令自动提取默认网关并发起三次ICMP请求。

最后验证DNS解析:getent hosts google.com | head -1。若返回空,说明DHCP虽给了IP和网关,但未下发DNS服务器地址,需检查DHCP服务器配置中的 option domain-name-servers 是否启用。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3890

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3333

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2473

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5990

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5622

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3313

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2805

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3039

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习