睿诚科技协会

Ubuntu虚拟机如何连接网络?

核心原理

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

Ubuntu虚拟机如何连接网络?-图1
(图片来源网络,侵删)

关键在于虚拟机软件提供的网络连接模式


第一步:选择网络连接模式(最关键)

在虚拟机软件的设置中,找到网络适配器设置,通常有以下几种模式:

NAT(网络地址转换) - 最推荐新手使用

这是最简单、最常用的模式,在这种模式下:

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

桥接模式

在这种模式下:

Ubuntu虚拟机如何连接网络?-图2
(图片来源网络,侵删)
  • 优点:虚拟机在局域网中表现得就像一台独立的物理电脑,它会直接从你的路由器获取一个 IP 地址,局域网内的其他设备可以像访问普通电脑一样访问它。
  • 工作原理:虚拟机软件将虚拟网卡直接桥接到你物理主机的物理网卡上,虚拟机将作为网络中的一个独立节点存在。
  • 适用场景:需要让局域网内的其他设备访问虚拟机(例如搭建一个网站、文件服务器、游戏服务器),或者希望虚拟机拥有与物理主机同级别的网络权限。
  • 缺点:在某些复杂的网络环境(如公司网络、校园网)中,可能会因为 MAC 地址限制或网络策略导致无法获取 IP 地址。

仅主机模式

在这种模式下:

  • 优点:安全性最高,虚拟机只能与物理主机通信,无法访问外部网络。
  • 工作原理:创建一个仅限于物理主机和虚拟机之间通信的私有网络。
  • 适用场景:需要完全隔离的网络环境,进行安全测试或开发不希望对外暴露的服务。

第二步:在 Ubuntu 賻统内进行配置

选择了网络模式后,Ubuntu 系统会自动识别并获取 IP 地址,你可以通过以下命令检查和配置。

检查网络连接状态

打开 Ubuntu 的终端,使用以下命令:

# 查看网络接口状态
ip addr
# 或者使用传统的 ifconfig 命令(如果未安装,可以用 sudo apt install net-tools)
ifconfig

你会看到类似 lo (回环接口) 和 ens33 (或 eth0, enp0s3 等,具体名字取决于你的虚拟机) 的网卡信息。

Ubuntu虚拟机如何连接网络?-图3
(图片来源网络,侵删)
  • 如果看到 ens33 下方有 inet (IPv4 地址) 和 inet6 (IPv6 地址),UP (启用) 状态,说明网络已连接。
  • 如果没有 IP 地址,或者状态是 DOWN,说明网络未连接成功。

检查是否能访问外网

# 测试与一个公共 DNS 服务器的连通性
ping 8.8.8.8
# 或者测试域名解析
ping www.baidu.com
  • ping 成功,说明网络已经完全正常,你可以关闭终端,开始使用了。
  • ping 失败,请继续排查。

第三步:常见问题与排查指南

如果网络不通,请按以下步骤逐一排查:

问题 1:虚拟机软件的网络模式设置错误

  • 解决方案
    1. 关闭 Ubuntu 虚拟机电源
    2. 在虚拟机软件的设置中,找到“网络适配器”。
    3. 首先尝试将模式从 NAT 切换到桥接模式,或者反之。
    4. 重新启动虚拟机。

问题 2:Ubuntu 内的网卡服务未启动

  • 解决方案

    # 查看网卡服务状态
    systemctl status networking
    # 如果未运行,尝试启动
    sudo systemctl start networking
    # 如果想开机自启
    sudo systemctl enable networking

问题 3:静态 IP 配置错误

如果你手动设置了静态 IP,但配置有误(如 IP、网关、DNS 错误),会导致网络不通,最简单的解决方法是改回自动获取(DHCP)。

  • 解决方案 (使用 Netplan - Ubuntu 18.04 及以后版本)

    1. 查找 Netplan 配置文件,通常在 /etc/netplan/ 目录下,01-network-manager-all.yaml
    2. sudo nano /etc/netplan/01-network-manager-all.yaml 编辑文件。
    3. 将配置修改为自动获取 DHCP 的模式,内容如下:
      network:
        version: 2
        renderer: networkd
        ethernets:
          ens33:  # 将 ens33 替换为你自己的网卡名
            dhcp4: yes
            dhcp6: yes
    4. 保存文件后,应用配置:
      sudo netplan apply
  • 解决方案 (使用 ifupdown - 旧版或服务器版 Ubuntu)

    1. 编辑 /etc/network/interfaces 文件:

      sudo nano /etc/network/interfaces
    2. 将静态 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
    3. 保存后,重启网络服务或重启机器。

问题 4:VMware Tools / Virtual Guest Additions 未安装

安装 VMware Tools 或 VirtualBox Guest Additions 可以极大地改善虚拟机的性能和网络稳定性,包括解决一些网络驱动问题。

  • 对于 VMware

    1. 在 VMware 菜单栏选择“虚拟机” -> “安装 VMware Tools”。
    2. 在 Ubuntu 桌面上会出现一个光盘图标。
    3. 打开它,解压压缩包,进入 vmware-tools-distrib 目录。
    4. 在终端中运行 sudo ./vmware-install.pl,一路回车即可。
  • 对于 VirtualBox

    1. 在 VirtualBox 菜单栏选择“设备” -> “安装增强功能”。
    2. 同样,Ubuntu 桌面上会出现光盘图标。
    3. 打开它,在终端中运行 sudo ./VBoxLinuxAdditions.run

安装完成后,重启虚拟机


总结与推荐流程

对于绝大多数用户,最简单有效的流程是:

  1. 关闭虚拟机
  2. 在虚拟机软件设置中,将网络模式设置为 NAT
  3. 启动虚拟机
  4. 在 Ubuntu 终端中运行 ping 8.8.8.8
  5. 如果成功,恭喜你,网络已经搞定!
  6. 如果失败,请按照上面的“常见问题排查指南”逐一检查,特别是检查 Ubuntu 内部的网络服务状态和 Netplan/ifupdown 配置。

按照这个流程,99% 的网络连接问题都可以解决,祝你使用愉快!

分享:
扫描分享到社交APP
上一篇
下一篇