VMware 虚拟机无法上网问题排查
- [VMware 虚拟机无法上网问题排查](#VMware 虚拟机无法上网问题排查)
-
- 一、问题现象:未能正常获取IP地址
- [二、使用 NAT 模式](#二、使用 NAT 模式)
- [三、发现关键问题:双 IP 冲突](#三、发现关键问题:双 IP 冲突)
- [四、删除临时冲突 IP 和路由](#四、删除临时冲突 IP 和路由)
- [五、根本原因:netplan 静态配置写死](#五、根本原因:netplan 静态配置写死)
- 六、永久修复方法
- 七、最终正确状态
- 八、核心经验总结
VMware 虚拟机无法上网问题排查
一、问题现象:未能正常获取IP地址
bash
ifconfig
输出类似:
bash
ens33: flags=4099<UP,BROADCAST,MULTICAST>
RX packets 0
TX packets 0
特征:
- 网卡是 UP 状态
- 没有
inet xxx.xxx.xxx.xxx - 没有数据收发
- 无法上网
二、使用 NAT 模式
虚拟机 → 设置 → 网络适配器 → 选择 NAT

三、发现关键问题:双 IP 冲突
查看 IP:ip addr

发现:
192.168.31.9 ← 桥接残留
192.168.211.128 ← NAT DHCP
说明:
Linux 里保留了静态 IP 和静态默认路由
导致路由冲突
四、删除临时冲突 IP 和路由
删除错误 IP:
bash
sudo ip addr del 192.168.31.9/24 dev ens33
删除错误默认路由:
bash
sudo ip route del default via 192.168.31.106
执行ip route,发现静态IP地址仍然存在

五、根本原因:netplan 静态配置写死
执行ls /etc/netplan,输出01-network-manager-all.yaml
查看yaml配置文件内容:
bash
sudo cnmod 777 /etc/netplan/01-network-manager-all.yaml
gedit /etc/netplan/01-network-manager-all.yaml

yaml
dhcp4: no
addresses: [192.168.31.9/24]
gateway4: 192.168.31.106
说明:
192.168.31.9 这个旧地址是被 netplan 静态配置写死的
这就是问题根源。
六、永久修复方法
将 netplan 修改为 DHCP 自动获取。
yaml
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: true
optional: true
应用配置:
bash
sudo netplan apply
如果未自动获取 IP:
bash
sudo systemctl restart NetworkManager
sudo dhclient ens33
七、最终正确状态

IP:ip addr
inet 192.168.211.xxx
路由:ip route
default via 192.168.211.2 dev ens33
八、核心经验总结
- 桥接 WiFi 容易失败,优先使用 NAT
- 切换网络模式后必须清理 netplan 静态配置
- 出现双 IP 基本是静态配置残留
- 路由冲突一定检查
ip route - 永久解决必须修改
/etc/netplan/*.yaml