在日常使用虚拟机进行 Linux 系统操作时,"ip addr 查看 IP 地址" 是最基础也最常用的操作之一。但就在昨天,我却遇到了一个让人摸不着头脑的问题:明明虚拟机正常启动,执行ip addr
命令后,却始终看不到预期的 192.168.x.x 网段 IP 地址,只有回环地址 lo 和网卡 ens32 的物理信息,没有任何 IPv4 地址配置。
一、问题初现:IP 地址 "凭空消失"
最开始发现异常时,我的操作流程其实很常规:启动 VMware 中的 CentOS 7 虚拟机,等待系统加载完成后,通过终端输入ip addr
命令 ------ 结果却让我愣住了。输出内容里,回环接口lo
的信息正常(inet 127.0.0.1/8),但网卡ens32
(不同系统可能是 eth0 等,需根据实际情况判断)只显示了 link/ether 开头的 MAC 地址,完全没有 "inet xxx.xxx.xxx.xxx/xx" 的 IP 地址行。

第一反应是 "是不是网卡没激活?",于是尝试执行ifup ens32
命令手动激活网卡,然后再执行ip addr但终究还是没有得到解决
二、排查弯路:从系统配置到网络模式,逐一排除却无果
为了找到问题根源,我先从 Linux 系统内部配置开始排查,毕竟 "IP 不显示" 最常见的原因往往和网卡配置相关:
- 检查网卡配置文件 :进入
/etc/sysconfig/network-scripts/
目录,查看ifcfg-ens32
文件(文件名需与实际网卡名对应)。确认BOOTPROTO
设置为dhcp
(自动获取 IP),ONBOOT=yes
(开机激活网卡),配置项没有任何问题,甚至尝试手动修改为静态 IP 后重启网络服务(systemctl restart network
),依旧无效。 - 重启网络服务 :先后执行
systemctl restart network
、nmcli networking off && nmcli networking on
等命令重启网络,但ip addr
的输出始终没有变化。 - 切换网络模式:怀疑是 VMware 网络模式问题,于是将虚拟机网络适配器从 "NAT 模式" 切换为 "桥接模式",重启虚拟机后再次执行命令,结果还是一样 ------ 没有 IP 地址。
- 搜索与咨询:信息杂乱,未触达核心 期间我也翻了不少技术博客,有的说要重新生成
/etc/resolv.conf
文件,有的说需要关闭防火墙(systemctl stop firewalld
),甚至尝试了重启虚拟机、重启物理机,但问题始终卡在 "IP 不显示" 这一步。后来咨询 AI,给出的方案也大多是 "检查网卡配置""重启网络服务""确认 DHCP 服务" 等常规操作,依旧没能解决我的问题。
三、意外突破:VMware NAT Service 服务未启动
就在我快要放弃,准备重新安装虚拟机系统时,突然想到:既然虚拟机用的是 NAT 模式,依赖 VMware 的 NAT 服务,那会不会是物理机上的 VMware 相关服务没启动?
抱着试一试的心态,我在 Windows 物理机上做了这几步操作:
- 按下
Win+R
,输入services.msc
打开 "服务" 窗口; - 在服务列表中搜索 "VMware" 相关服务,很快找到了VMware NAT Service;
- 发现这个服务的 "状态" 竟然是 "空白"(未启动),"启动类型" 是 "自动"------ 也就是说,本该开机自动启动的服务,不知道为什么没有启动;

4.右键点击 "VMware NAT Service",选择 "启动",等待服务启动完成(状态变为 "正在运行")。

服务启动后,我回到虚拟机终端,再次执行ifup ens32
命令 ------ 这次没有任何报错,终端安静地执行完成。紧接着输入ip addr
,熟悉的 192.168.xx.xx终于出现了!至此,困扰我大半天的问题终于解决。
四、总结:排查问题别忽略 "底层依赖"
这次踩坑让我明白,遇到虚拟机网络问题时,不能只盯着 Linux 系统内部的配置,还要关注物理机上虚拟机软件的 "底层依赖服务"------ 比如 VMware 的 NAT Service、VMware DHCP Service 等。这些服务一旦未启动,即使虚拟机内部配置完全正确,也无法正常获取 IP 地址。
最后给大家提个小建议:如果以后遇到类似 "ip addr 不显示 IP""虚拟机无法联网" 的问题,除了常规的系统内排查,不妨先检查一下物理机的 VMware 服务状态,步骤很简单,但往往能解决 "意想不到" 的问题。