虚拟机Ubuntu无法上网排查指南
一、检查虚拟机网络适配器设置
-
确认网络适配器启用
-
VirtualBox:进入虚拟机设置 → 网络 → 勾选 启用网络适配器。
-
VMware:虚拟机设置 → 网络适配器 → 选择 NAT 或 桥接模式。
-
连接方式建议:
-
NAT:虚拟机共享主机IP,无需额外配置(默认推荐)。
-
桥接模式:虚拟机作为独立设备接入局域网(需配置与主机同网段的IP)。
-
避免使用“仅主机模式”(需手动配置虚拟网络)。
-
-
-
检查虚拟网络配置(如NAT网络)
-
VirtualBox:全局设置 → 网络 → 检查NAT网络是否存在并启用DHCP。
-
VMware:编辑 → 虚拟网络编辑器 → 恢复默认设置。
-
(点击编辑,点开虚拟网络编辑器,如图所示)
(点击虚拟机,打开设置选项,如图所示)
二、检查Ubuntu内部网络配置
-
查看网卡状态与IP地址
ip a # 或 【ifconfig(需安装net-tools)】
确认网卡(如 ens33
)是否处于 UP
状态。检查是否分配到有效IP(非 169.254.x.x
,此为APIPA地址,表示DHCP失败)。
2.重启网络服务
sudo systemctl restart NetworkManager 【# 适用于使用NetworkManager的系统】
sudo netplan apply 【# 如果使用Netplan(Ubuntu 18.04+)】
3.手动分配IP(仅限桥接模式
编辑网络配置文件(如 /etc/netplan/01-netcfg.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, 1.1.1.1]
应用配置:
sudo netplan apply
三.排查DNS问题
1.检查DNS解析
ping 8.8.8.8 【 # 测试网络连通性】
ping www.google.com 【# 测试DNS解析】
若IP可通但域名不通 → DNS配置错误。
2.配置DNS服务器
编辑 /etc/resolv.conf
(临时生效):
nameserver 8.8.8.8
3.永久生效方法:
Netplan:在上述YAML文件中添加 nameservers
。
NetworkManager:
nmcli con mod <连接名> ipv4.dns "8.8.8.8 1.1.1.1"
nmcli con down <连接名> && nmcli con up <连接名>
四.检查主机与防火墙
1.主机网络状态
确保主机可正常上网,尝试重启主机网络或路由器。
2.防火墙/安全软件干扰
临时关闭主机防火墙(如Windows Defender防火墙、第三方安全软件)。
检查虚拟机软件防火墙规则(如VirtualBox/VMware的入站出站规则)。
五.高级排查
1.路由与网关检查
route -n 【# 查看默认网关是否正确】
ping <网关IP> 【# 测试网关可达性】
2.抓包分析
sudo tcpdump -i ens33 -n 【 # 查看网卡是否有进出流量】
3.虚拟机时间同步
timedatectl status 【 # 确保时间与主机同步】
sudo apt install ntpdate && sudo ntpdate pool.ntp.org 【# 手动同步时间】
六.重置与恢复
1.重置虚拟机网络
删除网卡配置文件后重启:
sudo rm /etc/netplan/*.yaml && sudo netplan apply
虚拟机软件中移除并重新添加网络适配器。
2.创建新虚拟机测试
若问题依旧,可能是虚拟机镜像损坏,建议新建虚拟机测试网络。