VMware 虚拟机中 Ubuntu 20 网络不通问题解决总结
一、问题描述
在 VMware 虚拟机中的 Ubuntu 20 系统出现网络不通的问题,具体表现为无法 ping 通百度且无法访问网页。ip addr
命令显示 ens33
网络接口处于异常状态,如显示 NO - CARRIER
、DOWN
等,并且获取到自动私有 IP 地址(169.254.x.x
)。
二、可能原因分析
(一)物理连接问题
- 网线未插好、网线损坏、网络设备(路由器、交换机)故障。
(二)网络服务问题
NetworkManager
服务异常、传统网络服务故障。
(三)网络配置问题
- IP 地址和子网掩码配置错误、DNS 设置不正确、路由表默认网关设置错误、DHCP 服务异常。
(四)防火墙问题
- 防火墙规则阻止网络连接。
(五)驱动程序问题
- 网卡驱动程序缺失或损坏。
(六)虚拟机网络设置问题
- 虚拟机网络连接模式设置错误。
三、解决方案
(一)物理连接检查与修复
- 确保网线正确插入计算机和路由器或交换机的接口,查看接口指示灯是否正常亮起。
- 尝试更换网线,排除网线损坏的可能性。
- 重启路由器或交换机,解决可能的临时故障。
bash
# 先将接口 down 掉
sudo ip link set ens33 down
# 等待几秒后再将接口 up 起来
sudo ip link set ens33 up
(二)网络服务管理
1. NetworkManager 服务
bash
# 检查 NetworkManager 服务状态
sudo systemctl status NetworkManager
# 若服务未运行,使用以下命令启动
sudo systemctl start NetworkManager
# 若需要重启服务
sudo systemctl restart NetworkManager
2. 传统网络服务(适用于较旧配置)
bash
# 检查网络服务状态
sudo systemctl status networking
# 启动网络服务
sudo systemctl start networking
# 重启网络服务
sudo systemctl restart networking
(三)网络配置调整
1. IP 地址和子网掩码
(1)DHCP 方式
bash
# 释放当前 IP 地址
sudo dhclient -r ens33
# 重新获取 IP 地址
sudo dhclient ens33
(2)静态 IP 配置
编辑 /etc/netplan
目录下的配置文件,例如 00 - installer - config.yaml
bash
sudo nano /etc/netplan/00-installer-config.yaml
示例配置如下:
yaml
network:
version: 2
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
保存并退出文件后,应用新的配置:
bash
sudo netplan apply
2. DNS 设置
可通过 netplan
配置或直接编辑 /etc/resolv.conf
文件(不推荐,可能会被覆盖)。
3. 路由表
使用 ip route
命令查看路由表,确保默认网关设置正确。
bash
# 添加默认网关
sudo ip route add default via <网关 IP 地址> dev <网络接口名称>
(四)防火墙设置
bash
# 查看防火墙状态
sudo ufw status
# 若防火墙开启,可暂时关闭进行测试
sudo ufw disable
如果关闭防火墙后网络恢复正常,可根据需要重新配置防火墙规则。
(五)驱动程序检查与更新
- 查看网卡型号:
bash
lspci | grep Ethernet
- 根据网卡型号,从官方网站下载并安装合适的驱动程序。
(六)虚拟机网络设置调整
如果 Ubuntu 是运行在虚拟机中,确保虚拟机的网络连接模式设置正确,常见的模式有桥接模式、NAT 模式和仅主机模式,可在虚拟机软件(如 VMware 或 VirtualBox)中进行相应的设置调整。
四、测试网络连接
完成上述操作后,使用 ip a
命令查看网络接口状态,使用 ping
命令测试网络连接是否正常,例如:
bash
ping www.baidu.com
你可以使用 Typora 这类支持 Markdown 的软件打开上述内容,然后通过软件的导出功能将其保存为 Word 文件;也可以在网上搜索 "Markdown 转 Word" 在线工具进行转换。