核心思路
网络数据流的路径是:虚拟机 → VMware 虚拟网卡 → 宿主机物理网卡 → 路由器/交换机 → 互联网,我们需要检查这条路径上的每一个环节。

第一步:检查虚拟机内部(客户机)
这是最基础的检查,确保虚拟机操作系统本身没有问题。
-
检查 IP 地址是否获取成功
- Windows 虚拟机: 打开命令提示符,运行
ipconfig。- 如果你使用的是 NAT 或 桥接 模式,你应该能看到一个 IP 地址(
168.x.x或0.x.x)。 - 如果你看到的是
254.x.x这样的 IP 地址,说明虚拟机没有从路由器成功获取到 IP 地址,问题可能出在 DHCP 或网络连接上。 - 如果你看到
IPv4 地址 . . . . . . . . . . . : 0.0.0.0,说明网卡没有被正确启用或驱动有问题。
- 如果你使用的是 NAT 或 桥接 模式,你应该能看到一个 IP 地址(
- Linux 虚拟机: 打开终端,运行
ip addr或ifconfig。- 同样,检查
eth0或ens33等网卡是否获得了有效的 IP 地址。
- 同样,检查
- Windows 虚拟机: 打开命令提示符,运行
-
检查网络服务是否正常运行
- Windows: 进入“控制面板” -> “网络和 Internet” -> “网络和共享中心”,确保你的网络连接(如“以太网”)是“已连接”状态,也可以尝试禁用再重新启用网卡。
- Linux (Ubuntu/Debian): 检查
NetworkManager服务是否正在运行:sudo systemctl status NetworkManager,如果未运行,尝试启动它:sudo systemctl start NetworkManager。 - Linux (CentOS/RHEL): 检查
network服务:sudo systemctl status network,同样,尝试重启它:sudo systemctl restart network。
-
尝试手动设置 IP 地址(用于诊断)
(图片来源网络,侵删)- 为了排除 DHCP 服务器的问题,可以尝试为虚拟机手动设置一个静态 IP 地址,确保其与你的主网络在同一网段(如果你的主电脑是
168.1.100,可以给虚拟机设置168.1.150),子网掩码、网关和 DNS 也与主电脑保持一致。 - 如果手动设置后可以上网,那么问题很可能出在 DHCP 服务上(可能是路由器问题或 VMware 的 NAT 服务问题)。
- 为了排除 DHCP 服务器的问题,可以尝试为虚拟机手动设置一个静态 IP 地址,确保其与你的主网络在同一网段(如果你的主电脑是
第二步:检查 VMware 的网络连接模式
这是最关键的一步,90% 的网络问题都与这里的设置有关,在 VMware 菜单栏中,选择 “虚拟机” -> “设置”,然后选择“网络适配器”,查看右侧的“网络连接”部分。
主要有三种模式,以及一个特殊的“仅主机模式”:
NAT 模式 (网络地址转换)
- 工作原理: 虚拟机通过宿主机共享一个 IP 地址上网,就像你的电脑连接了路由器,路由器再连接互联网一样。
- 优点: 配置简单,虚拟机可以访问外部网络,但外部网络无法直接访问虚拟机。
- 适用场景: 绝大多数日常上网、开发测试场景。
- 排查步骤:
- 确认模式: 确保选择的是 NAT 模式。
- 检查 NAT 服务: 在宿主机上,打开 “VMware Workstation” (或 Player/ESXi) 的菜单栏,选择 “编辑” -> “虚拟网络编辑器”。
3. 选择你当前使用的 VMnet(通常是 VMnet8),然后点击 “NAT 设置”。
4. 检查 “网关 IP 地址” 是否有效,并且没有被其他设备占用,通常默认是
168.153.2或168.100.2等。 5. 返回“虚拟网络编辑器”主界面,选择 VMnet8,点击 “DHCP 设置”。 6. 确保 “启用 DHCP 服务” 是勾选的,DHCP 的 IP 地址范围(如168.153.128-168.153.254)没有被你的物理网络或其他设备占用。 - 重启服务: 有时 NAT 服务会卡住,可以在“虚拟网络编辑器”中,点击 “还原默认设置”(警告:这会重置该 VMnet 的所有配置,包括手动设置的端口映射),然后重新启动虚拟机。
桥接模式 (Bridged)
- 工作原理: 虚拟机直接连接到你的物理网络中,就像一台独立的电脑,它会从你的路由器获取一个 IP 地址。
- 优点: 虚拟机在网络中与宿主机地位平等,可以被局域网内其他设备直接访问。
- 适用场景: 需要让虚拟机作为服务器(如 Web 服务器),或需要被局域网内其他设备访问的场景。
- 排查步骤:
- 确认模式: 确保选择的是 桥接模式。
- 选择桥接网卡: 在“网络适配器”设置中,有一个“桥接到”的下拉菜单,请确保这里选择的是你当前正在上网的物理网卡(你的 Wi-Fi 网卡或有线以太网卡),如果选错了,虚拟机就无法连接到正确的网络。
- 检查物理网络: 确保你的宿主机本身网络是通的,如果宿主机都上不了网,虚拟机在桥接模式下自然也无法上网。
- 检查 MAC 地址冲突: 虚拟机的 MAC 地址是 VMware 自动生成的,但极少数情况下可能与网络中已有设备冲突,可以在“高级”选项中,点击“生成”来生成一个新的 MAC 地址。
仅主机模式 (Host-Only)
- 工作原理: 创建一个完全隔离的网络,只有宿主机和虚拟机可以互相通信,无法访问外部网络。
- 适用场景: 创建一个安全的、隔离的测试环境。
- 排查步骤:
- 如果你意外选择了这个模式,这就是无法上网的原因! 请切换回 NAT 模式 或 桥接模式。
- 如果你的确需要这个模式,那么虚拟机只能访问宿主机,你需要手动在宿主机上开启 Internet 连接共享,或者配置 NAT 服务,才能让虚拟机上网(这比较复杂,通常不推荐)。
第三步:检查宿主机(你的电脑)
如果虚拟机内部的设置和 VMware 的网络模式都正确,那么问题可能出在宿主机上。
-
检查 VMware 相关服务
(图片来源网络,侵删)- Windows: 按
Win + R,输入services.msc,回车。 - 在服务列表中,找到以下服务,确保它们的 “启动类型” 是 “自动”,“状态” 是 “正在运行”。
VMware Authorization ServiceVMware DHCP Service(如果你使用 NAT 模式)VMware NAT Service(如果你使用 NAT 模式)VMware ARP Daemon(如果你使用 NAT 模式)
- 如果服务未运行,右键点击它,选择“启动”,如果启动失败,可以尝试重启电脑。
- Windows: 按
-
检查防火墙和杀毒软件
- 临时 禁用 Windows Defender 防火墙或第三方杀毒软件(如 360、火绒、McAfee 等),然后尝试连接网络。
- 如果可以连接,说明是防火墙/杀毒软件阻止了 VMware 的虚拟网卡通信,你需要将 VMware 的相关程序(如
vmnat.exe,vmware-vmx.exe等)添加到防火墙的允许列表中。
-
检查虚拟网卡驱动
- 在 Windows 的“设备管理器”中,展开“网络适配器”。
- 你应该能看到两个由 VMware 安装的虚拟网卡:
VMware Virtual Ethernet Adapter for VMnet1(仅主机模式)VMware Virtual Ethernet Adapter for VMnet8(NAT 模式)
- 检查这两个网卡是否有黄色感叹号或红叉,如果有,说明驱动程序有问题,右键点击,选择“更新驱动程序”或“卸载设备”,然后重启 VMware 或电脑,让它自动
