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
相关推荐
广州灵眸科技有限公司4 小时前
4G 模组开机自连 systemd 服务方案:基于灵眸科技EAI1106--Core-T
运维·服务器·科技
qq_401700416 小时前
Linux设备树详解
linux·运维·服务器
车软学堂6 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
刚入门的大一新生6 小时前
Linux-信号
linux·运维·服务器
明天也要努力学习7 小时前
IP 协议的相关特性
网络·网络协议·tcp/ip
说实话起个名字真难啊7 小时前
一次中风险漏洞处理复盘:从RSA密钥交换到全面启用TLSv1.3
网络
L0208248 小时前
Kubernetes Ingress|CNI 网络模型|Calico 网络策略|Pod 调度器完整实战教程
运维·网络·云原生·容器·kubernetes
启博网络8 小时前
下一代防火墙是什么意思?下一代防火墙可以抵御哪些网络攻击?
网络·防火墙
FPGA信号处理10 小时前
【人工神经网络】第一讲:竞争网络与自组织特征映射:从胜者为王到保序映射
网络