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
相关推荐
比昨天多敲两行1 分钟前
Linux进程间通信-共享内存
linux·运维·服务器
AbandonForce1 分钟前
Linux权限深入解读
linux·运维·服务器
lbb 小魔仙17 分钟前
Docker一键部署 EasyNode 面板,随时随地可视化管理服务器
服务器·docker·容器
草莓熊Lotso26 分钟前
【Linux网络】深入理解 HTTP 协议(一):从基础概念到 URL 编码解码
linux·网络·c++·网络协议·http·软件工程
一号弯28 分钟前
用NAVICAT访问非本地服务器的报错问题
运维·服务器
aodunsoft30 分钟前
安全月报 | 傲盾DDoS攻击防御2026年5月简报
网络·安全·ddos
jingling55537 分钟前
Flutter | 从基本跳转到路由守卫
服务器·前端·网络·flutter·前端框架
SilentSamsara41 分钟前
HTTP 客户端实战:httpx/重试/限速/连接池/中间件设计
开发语言·网络·python·http·青少年编程·中间件·httpx
24zhgjx-fuhao42 分钟前
ISIS:多区域集成IS-IS
网络·智能路由器
小熊officer43 分钟前
网络渗透和网络安全
网络·安全·web安全