睿诚科技协会

Ubuntu虚拟机如何配置网络?

下面我将为你详细介绍几种最主流的虚拟机网络配置方法,以 VMware Workstation/Player 为例,因为它的网络模式最经典、最全面。VirtualBox 的逻辑和概念基本一致,只是界面名称略有不同

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

第一步:了解虚拟机网络的三种核心模式

在开始配置之前,你必须理解虚拟机网络的三种基本模式,这决定了你的虚拟机如何与外部世界通信。

桥接模式

  • 工作原理:你的虚拟机就像在你局域网中一台独立的物理计算机,虚拟机的虚拟网卡直接连接到你物理主机的网卡,并从你的路由器(DHCP 服务器)获取一个独立的 IP 地址。
  • IP 地址:与你的主机在同一个网段,主机是 168.1.10,虚拟机可能是 168.1.105
  • 优点
    • 虚拟机可以完全像局域网内的任何一台电脑一样,被其他设备访问(如通过 ping 访问、搭建 Web 服务器供局域网内其他人访问)。
    • 可以直接访问外部网络。
  • 缺点
    • 占用一个局域网 IP 地址。
    • 如果你的网络环境比较复杂(公司网络有严格的访问控制),可能会无法连接。
  • 适用场景
    • 需要让局域网内其他设备访问虚拟机(如搭建文件服务器、Web 服务器、数据库服务器)。
    • 模拟一个完全独立的网络环境。

NAT 模式

  • 工作原理:这是虚拟机最常用的默认模式,虚拟机通过虚拟机软件自带的 NAT 服务(网络地址转换)来访问外部网络,从外部网络看,所有虚拟机的流量都来自你的主机。
  • IP 地址:虚拟机从虚拟机软件的 DHCP 服务器获取一个私有 IP 地址(通常是 168.x.x0.0.x 网段),与你的主机不在同一个网段。
  • 优点
    • 配置最简单,开箱即用,无需任何额外设置就能上网。
    • 虚拟机可以轻松访问外部网络。
    • 不占用你局域网的 IP 地址。
  • 缺点
    • 默认情况下,外部网络(包括你的主机)无法直接访问虚拟机,这是一个单向通道。
  • 适用场景
    • 绝大多数日常使用场景,如学习、编程、上网冲浪。
    • 只需要虚拟机能访问外网,不需要被外网访问。

仅主机模式

  • 工作原理:创建一个完全隔离的私有网络,只有你的主机和虚拟机在这个网络里,虚拟机软件会创建一个虚拟的 DHCP 服务器,为主机和虚拟机分配 IP 地址。
  • IP 地址:私有网段,168.199.x
  • 优点
    • 安全性最高,虚拟机与外部网络完全隔离。
    • 主机和虚拟机可以互相通信。
  • 缺点

    虚拟机无法访问外部网络。

  • 适用场景
    • 搭建安全的、隔离的测试环境。
    • 进行网络安全实验。
    • 不需要虚拟机上网的场景。

第二步:在 VMware 中修改网络模式

  1. 关闭虚拟机:在更改网络设置前,请务必先关闭 Ubuntu 虚拟机。
  2. 打开设置
    • 在 VMware 主界面中,选中你的 Ubuntu 虚拟机。
    • 点击菜单栏的“虚拟机” -> “设置”。
    • 或者右键点击虚拟机,选择“设置”。
  3. 找到网络适配器
    • 在弹出的设置窗口中,选择“硬件”选项卡。
    • 在列表中找到“网络适配器”,并确保它已勾选“已连接”。
  4. 选择网络连接模式
    • 在“网络连接”的下拉菜单中,你可以看到上述三种模式(桥接模式、NAT 模式、仅主机模式)。
    • 根据你的需求选择合适的模式。
  5. 应用并启动
    • 点击“确定”保存设置。
    • 启动虚拟机。

第三步:在 Ubuntu 内部进行网络配置

修改了 VMware 的网络模式后,Ubuntu 会自动获取 IP 地址,但有时你可能需要手动配置或查看 IP 地址。

查看当前 IP 地址

打开 Ubuntu 的终端,输入以下命令:

Ubuntu虚拟机如何配置网络?-图2
(图片来源网络,侵删)
# 显示所有网络接口的详细信息,包括 IP 地址
ip a
# 或者使用经典的 ifconfig 命令(如果未安装,需要先 sudo apt install net-tools)
ifconfig

你会看到类似 eth0ens33 这样的网络接口,在对应的 inet 后面就是你的 IP 地址。

  • NAT 模式下:你会看到一个私有 IP,如 168.153.128
  • 桥接模式下:你应该看到一个与你主机在同一个网段的 IP,如 168.1.105
  • 仅主机模式下:你会看到一个私有 IP,如 168.199.128

手动设置静态 IP 地址

在某些场景下(如搭建服务器),你需要一个固定的 IP 地址,而不是每次都由 DHCP 分配。

注意:强烈建议在设置静态 IP 前,先确保你的虚拟机可以正常上网(通过 DHCP 获取 IP)。

以下是在 Ubuntu 20.04/22.04 中使用 netplan 设置静态 IP 的步骤:

Ubuntu虚拟机如何配置网络?-图3
(图片来源网络,侵删)
  1. 找到网络配置文件

    • netplan 的配置文件通常位于 /etc/netplan/ 目录下。
    • 使用 ls /etc/netplan/ 查看文件名,通常是类似 01-network-manager-all.yaml50-cloud-init.yaml 的文件。
  2. 编辑配置文件

    • 使用 sudo nanosudo vim 编辑该文件。
      sudo nano /etc/netplan/50-cloud-init.yaml
  3. 修改配置内容

    • 可能如下(以 ens33 接口为例):
      # This file is generated from information provided by the datasource. Changes
      # to it will not persist across an instance reboot. To disable cloud-init's
      # network configuration capabilities, write a file
      # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
      # network: {config: disabled}
      network:
      version: 2
      ethernets:
          ens33:
              dhcp4: true # 使用 DHCP,我们将其改为 false
              # dhcp6: no
    • 将其修改为静态 IP 配置。请务必将下面的 IP、网关、DNS 等信息替换成你自己的环境信息!
    • NAT 模式下:网关通常是虚拟机 NAT 服务的网关,在 VMware 的“编辑”->“虚拟网络编辑器”中可以查到,默认是 168.x.2
    • 桥接模式下:网关和 DNS 应该与你主机的网络设置一致(在 Windows 上使用 ipconfig /all 查看)。
    network:
        version: 2
        ethernets:
            ens33:  # 你的网络接口名称,用 ip a 命令查看
                dhcp4: false # 禁用 DHCP
                addresses:
                    - 192.168.153.150/24  # 你想要的静态IP和子网掩码(/24 表示 255.255.255.0)
                gateway4: 192.168.153.2  # 网关地址
                nameservers:
                    addresses: [8.8.8.8, 1.1.1.1] # DNS 服务器地址
  4. 应用配置

    • 保存并关闭文件。
    • 在终端运行以下命令使配置生效:
      sudo netplan apply
    • 再次使用 ip a 命令,你应该能看到 ens33 接口已经成功设置了你指定的静态 IP。

常见问题排查

  1. 虚拟机无法上网?

    • 检查 VMware 模式:确保你选择了正确的模式(NAT 或桥接)。
    • 检查“已连接”选项:在 VMware 网络设置中,确保“已连接”被勾选。
    • 重启网络服务:在 Ubuntu 中运行 sudo systemctl restart networkingsudo netplan apply
    • 检查 Windows 防火墙/杀毒软件:有时它们会阻止虚拟机的网络流量。
    • 重置网络适配器:在 Windows 的“设备管理器”中,找到 VMware 的虚拟网卡,尝试卸载并重新安装。
  2. 桥接模式下获取不到 IP?

    • 这通常是因为你的路由器 DHCP 服务问题,或者网络策略限制。
    • 解决方案:改用 NAT 模式,这是最简单可靠的上网方式。
  3. 如何从主机访问虚拟机?

    • NAT 模式:默认不行,需要做“端口转发”(Port Forwarding),在 VMware 的“虚拟网络编辑器”中,选择 NAT 设置,然后添加端口转发规则,将主机端口映射到虚拟机的端口。
    • 桥接模式:可以直接用虚拟机的 IP 地址访问。
    • 仅主机模式:可以用虚拟机的私有 IP 地址访问。
需求场景 推荐网络模式 备注
日常学习、上网、编程 NAT 模式 首选,最简单,无需配置
搭建局域网服务器(网站、数据库等) 桥接模式 虚拟机有独立 IP,局域网内其他设备可直接访问。
安全测试、网络隔离 仅主机模式 与外界完全隔离,只有主机和虚拟机能互访。
需要固定 IP 地址 NAT 或桥接模式 + 静态 IP 配置 在 Ubuntu 内部手动配置 netplan

希望这份详细的指南能帮助你成功配置 Ubuntu 虚拟机的网络!

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