核心原理
虚拟机网络连接的本质是:虚拟机通过虚拟网卡,与你的 物理主机(你正在使用的电脑) 进行通信,再由物理主机通过物理网卡访问外部网络。

关键在于虚拟机软件提供的网络连接模式。
第一步:选择网络连接模式(最关键)
在虚拟机软件的设置中,找到网络适配器设置,通常有以下几种模式:
NAT(网络地址转换) - 最推荐新手使用
这是最简单、最常用的模式,在这种模式下:
- 优点:配置极其简单,几乎无需任何设置,虚拟机就能自动上网,虚拟机可以访问外部网络,但外部网络无法直接访问虚拟机(相当于一个内网)。
- 工作原理:虚拟机软件在物理主机上创建一个虚拟的私有网络(如 192.168.x.x),虚拟机从这个网络获取 IP 地址,当它要访问互联网时,虚拟机软件会像路由器一样,将虚拟机的 IP 地址“翻译”成物理主机的 IP 地址进行通信。
- 适用场景:绝大多数日常上网、开发、学习场景,如果你只是想在虚拟机里上网、下载软件、编程,首选这个模式。
桥接模式
在这种模式下:

- 优点:虚拟机在局域网中表现得就像一台独立的物理电脑,它会直接从你的路由器获取一个 IP 地址,局域网内的其他设备可以像访问普通电脑一样访问它。
- 工作原理:虚拟机软件将虚拟网卡直接桥接到你物理主机的物理网卡上,虚拟机将作为网络中的一个独立节点存在。
- 适用场景:需要让局域网内的其他设备访问虚拟机(例如搭建一个网站、文件服务器、游戏服务器),或者希望虚拟机拥有与物理主机同级别的网络权限。
- 缺点:在某些复杂的网络环境(如公司网络、校园网)中,可能会因为 MAC 地址限制或网络策略导致无法获取 IP 地址。
仅主机模式
在这种模式下:
- 优点:安全性最高,虚拟机只能与物理主机通信,无法访问外部网络。
- 工作原理:创建一个仅限于物理主机和虚拟机之间通信的私有网络。
- 适用场景:需要完全隔离的网络环境,进行安全测试或开发不希望对外暴露的服务。
第二步:在 Ubuntu 賻统内进行配置
选择了网络模式后,Ubuntu 系统会自动识别并获取 IP 地址,你可以通过以下命令检查和配置。
检查网络连接状态
打开 Ubuntu 的终端,使用以下命令:
# 查看网络接口状态 ip addr # 或者使用传统的 ifconfig 命令(如果未安装,可以用 sudo apt install net-tools) ifconfig
你会看到类似 lo (回环接口) 和 ens33 (或 eth0, enp0s3 等,具体名字取决于你的虚拟机) 的网卡信息。

- 如果看到
ens33下方有inet(IPv4 地址) 和inet6(IPv6 地址),UP(启用) 状态,说明网络已连接。 - 如果没有 IP 地址,或者状态是
DOWN,说明网络未连接成功。
检查是否能访问外网
# 测试与一个公共 DNS 服务器的连通性 ping 8.8.8.8 # 或者测试域名解析 ping www.baidu.com
ping成功,说明网络已经完全正常,你可以关闭终端,开始使用了。ping失败,请继续排查。
第三步:常见问题与排查指南
如果网络不通,请按以下步骤逐一排查:
问题 1:虚拟机软件的网络模式设置错误
- 解决方案:
- 关闭 Ubuntu 虚拟机电源。
- 在虚拟机软件的设置中,找到“网络适配器”。
- 首先尝试将模式从 NAT 切换到桥接模式,或者反之。
- 重新启动虚拟机。
问题 2:Ubuntu 内的网卡服务未启动
-
解决方案:
# 查看网卡服务状态 systemctl status networking # 如果未运行,尝试启动 sudo systemctl start networking # 如果想开机自启 sudo systemctl enable networking
问题 3:静态 IP 配置错误
如果你手动设置了静态 IP,但配置有误(如 IP、网关、DNS 错误),会导致网络不通,最简单的解决方法是改回自动获取(DHCP)。
-
解决方案 (使用 Netplan - Ubuntu 18.04 及以后版本):
- 查找 Netplan 配置文件,通常在
/etc/netplan/目录下,01-network-manager-all.yaml。 - 用
sudo nano /etc/netplan/01-network-manager-all.yaml编辑文件。 - 将配置修改为自动获取 DHCP 的模式,内容如下:
network: version: 2 renderer: networkd ethernets: ens33: # 将 ens33 替换为你自己的网卡名 dhcp4: yes dhcp6: yes - 保存文件后,应用配置:
sudo netplan apply
- 查找 Netplan 配置文件,通常在
-
解决方案 (使用 ifupdown - 旧版或服务器版 Ubuntu):
-
编辑
/etc/network/interfaces文件:sudo nano /etc/network/interfaces
-
将静态 IP 配置注释掉或改为 DHCP:
# The primary network interface # auto ens33 # iface ens33 inet static # address 192.168.1.100 # netmask 255.255.255.0 # gateway 192.168.1.1 auto ens33 iface ens33 inet dhcp -
保存后,重启网络服务或重启机器。
-
问题 4:VMware Tools / Virtual Guest Additions 未安装
安装 VMware Tools 或 VirtualBox Guest Additions 可以极大地改善虚拟机的性能和网络稳定性,包括解决一些网络驱动问题。
-
对于 VMware:
- 在 VMware 菜单栏选择“虚拟机” -> “安装 VMware Tools”。
- 在 Ubuntu 桌面上会出现一个光盘图标。
- 打开它,解压压缩包,进入
vmware-tools-distrib目录。 - 在终端中运行
sudo ./vmware-install.pl,一路回车即可。
-
对于 VirtualBox:
- 在 VirtualBox 菜单栏选择“设备” -> “安装增强功能”。
- 同样,Ubuntu 桌面上会出现光盘图标。
- 打开它,在终端中运行
sudo ./VBoxLinuxAdditions.run。
安装完成后,重启虚拟机。
总结与推荐流程
对于绝大多数用户,最简单有效的流程是:
- 关闭虚拟机。
- 在虚拟机软件设置中,将网络模式设置为 NAT。
- 启动虚拟机。
- 在 Ubuntu 终端中运行
ping 8.8.8.8。 - 如果成功,恭喜你,网络已经搞定!
- 如果失败,请按照上面的“常见问题排查指南”逐一检查,特别是检查 Ubuntu 内部的网络服务状态和 Netplan/ifupdown 配置。
按照这个流程,99% 的网络连接问题都可以解决,祝你使用愉快!
