VMware 虚拟机无法上网问题排查

VMware 虚拟机无法上网问题排查

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

八、核心经验总结

  1. 桥接 WiFi 容易失败,优先使用 NAT
  2. 切换网络模式后必须清理 netplan 静态配置
  3. 出现双 IP 基本是静态配置残留
  4. 路由冲突一定检查 ip route
  5. 永久解决必须修改 /etc/netplan/*.yaml
相关推荐
KoiHeng2 小时前
网络原理相关内容(三)
网络
CHANG_THE_WORLD2 小时前
指针入门一
java·前端·网络
切糕师学AI4 小时前
NAT (Network Address Translation,网络地址转换)
运维·服务器·网络
Channing Lewis5 小时前
为什么部署的项目会耗尽系统句柄
服务器
KoiHeng5 小时前
网络原理相关内容(二)
网络
独行soc6 小时前
2026年渗透测试面试题总结-25(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
山峰哥6 小时前
SQL调优实战:从索引失效到性能飙升的破局之道
服务器·数据库·sql·性能优化·编辑器·深度优先
玩具猴_wjh6 小时前
JWT优化方案
java·服务器·数据库
盟接之桥7 小时前
制造业EDI数字化:连接全球供应链的桥梁
linux·运维·服务器·网络·人工智能·制造