睿诚科技协会

VirtualBox共享网络怎么设置?

需要澄清一个概念,在 VirtualBox 中,并没有一个明确叫做“共享网络”的功能按钮,通常大家所说的“共享网络”,指的是以下两种情况之一:

VirtualBox共享网络怎么设置?-图1
(图片来源网络,侵删)
  1. 让虚拟机通过宿主机的网络上网(这是最常见的“共享”需求)。
  2. 让宿主机和虚拟机之间,以及虚拟机之间可以互相通信

这两种需求分别由 NAT 模式仅主机模式 来实现,下面我们详细讲解这两种模式,以及它们的高级配置。


让虚拟机通过宿主机上网(最常见)

这是绝大多数用户的需求,宿主机可以上网,虚拟机也能访问互联网,VirtualBox 提供了两种非常方便的方式来实现这一点:NAT 模式桥接模式

方案 A:网络地址转换 - 最简单、最常用

这是 VirtualBox 的默认网络模式,它的工作原理就像一个路由器,你的虚拟机处在一个私有网络中,VirtualBox 在你的宿主机和虚拟机之间充当一个“中间人”(NAT设备)。

  • 工作原理

    VirtualBox共享网络怎么设置?-图2
    (图片来源网络,侵删)
    • 宿主机:拥有一个真实 IP 地址(168.1.100)。
    • 虚拟机:从 VirtualBox 获取一个私有 IP 地址(0.2.15)。
    • 当虚拟机要访问互联网时,请求会发送到 VirtualBox,VirtualBox 将请求的源 IP 地址从 0.2.15 替换成宿主机的 168.1.100,然后再发送出去。
    • 当外部网络返回数据时,数据先到达宿主机,VirtualBox 再根据会话记录,将数据转发给虚拟机 0.2.15
  • 优点

    • 配置极其简单:无需任何额外设置,开箱即用。
    • 安全性高:虚拟机在私有网络中,外部网络无法直接访问虚拟机,隐藏了虚拟机的真实 IP。
    • 节省 IP 地址:虚拟机不占用你局域网内的一个 IP 地址。
  • 缺点

    • 无法从外部网络访问虚拟机:这是最大的缺点,你无法从同一局域网内的另一台电脑直接访问你的虚拟机(比如通过 SSH、远程桌面或搭建一个网站服务)。
    • 无法与宿主机直接通信:默认情况下,宿主机无法通过虚拟机的私有 IP (0.2.15) 访问虚拟机。

方案 B:桥接模式 - 让虚拟机像独立电脑一样

桥接模式会将虚拟机的虚拟网卡直接“桥接”到你宿主机的物理网卡上,虚拟机看起来就像是局域网中的一台独立物理计算机。

  • 工作原理

    VirtualBox共享网络怎么设置?-图3
    (图片来源网络,侵删)
    • VirtualBox 会在你的物理网络(比如通过路由器连接的 Wi-Fi 或网线)中,为虚拟机申请一个独立的 IP 地址(168.1.101)。
    • 这个 IP 地址和你宿主机的 IP 地址(168.1.100)处于同一网段。
  • 优点

    • 可以从任何地方访问虚拟机:只要你的物理网络允许,局域网内的任何设备都可以像访问你的宿主机一样访问虚拟机。
    • 虚拟机与宿主机地位平等:它们是网络中的对等体,可以轻松互相访问。
  • 缺点

    • 配置稍复杂:需要确保路由器的 DHCP 服务能正常为虚拟机分配 IP。
    • 占用一个 IP 地址:虚拟机消耗了你局域网网段中的一个 IP 地址。
    • 安全性较低:虚拟机直接暴露在局域网中,更容易受到攻击。

宿主机与虚拟机,以及虚拟机之间互相通信

如果你只是想让宿主机和虚拟机之间能互相访问,而不需要虚拟机访问外网,或者需要一种可控的内外网隔离环境,仅主机模式 是最佳选择。

方案 C:仅主机模式 - 创建私有隔离网络

这个模式会在宿主机和虚拟机之间创建一个完全隔离的私有网络。

  • 工作原理

    • VirtualBox 会在你的宿主机上创建一个虚拟网卡(VirtualBox Host-Only Network)。
    • 虚拟机会连接到这个虚拟网卡上,并从这个虚拟网卡所在的网段获取一个 IP 地址(168.56.101)。
    • 宿主机也会被分配这个网段的一个 IP 地址(168.56.1)。
  • 优点

    • 完美的内外网隔离:虚拟机可以和宿主机、以及其他同样使用“仅主机模式”的虚拟机通信,但它们无法访问互联网(除非你在宿主机上进行额外配置,如 Internet 连接共享)。
    • 安全性高:虚拟机完全与外部网络隔离。
    • 固定 IP:IP 地址分配范围固定,便于管理。
  • 缺点

    • 默认无法上网:需要手动配置才能让虚拟机访问互联网(例如在 Windows 宿主机上开启“Internet 连接共享”)。

高级配置:NAT 网络功能(解决 NAT 的痛点)

如果你既想用 NAT 模式的简单性,又想让外部网络能访问虚拟机,VirtualBox 的 “NAT 网络” 功能就是为你准备的,这是对传统 NAT 模式的一个强大升级。

什么是 NAT 网络?

它允许你创建一个自定义的、隔离的 NAT 网络,你可以手动定义这个网络网段、DHCP 地址池范围等,而不是使用 0.2.x 这个固定的、不灵活的网段。

如何配置 NAT 网络并实现端口转发?

以创建一个 Web 服务器为例,让局域网内的其他电脑能通过 http://[宿主机IP]:8080 访问到虚拟机里的网站。

第一步:创建 NAT 网络

  1. 打开 VirtualBox,点击“文件” -> “管理” -> “网络”。
  2. 在“NAT 网络”标签页,点击“添加 NAT 网络”按钮,会自动创建一个名为 NatNetwork 的新网络。
  3. 选中它,可以配置其名称、网段(168.15.0/24)和 DHCP 服务器地址池(168.15.100168.15.200),保持默认即可。

第二步:将虚拟机连接到 NAT 网络

  1. 关闭你的虚拟机。
  2. 在 VirtualBox 主界面选中你的虚拟机,点击“设置” -> “网络”。
  3. 在“网卡 1”的“ attached to”下拉菜单中,选择 “NAT 网络”
  4. 在下面的“NAT 网络”下拉菜单中,选择你刚刚创建的 NatNetwork
  5. 启动虚拟机,它现在会从 168.15.0/24 网段获取一个 IP 地址(168.15.101)。

第三步:配置端口转发

我们需要将宿主机上的一个端口(8080)的流量,转发到虚拟机的 Web 服务端口(80)。

  1. 在虚拟机的“网络设置”界面,点击“高级” -> “端口转发”。
  2. 点击右上角的“添加”按钮,新建一条规则:
    • 名称web-forward (可以任意命名)
    • 协议TCP
    • 主机 IP:留空(表示监听宿主机所有网卡的 IP)
    • 主机端口8080 (这是局域网内其他电脑要访问的端口)
    • 子网 IP:留空(虚拟机会自动获取)
    • 子网端口80 (这是虚拟机内部 Web 服务监听的端口)
  3. 点击“确定”保存。

完成!

在同一局域网内的任何一台电脑上,打开浏览器,访问 http://[你的宿主机IP]:8080,流量就会被 VirtualBox 自动转发到虚拟机的 80 端口,从而访问到你虚拟机里的网站。


总结与选择建议

模式 工作原理 优点 缺点 适用场景
NAT VirtualBox 充当路由器,虚拟机在私有网络中 配置最简单、安全性高、节省 IP 无法从外部访问虚拟机、宿主机与虚拟机默认不通 日常使用,只需虚拟机能上网,不对外提供服务。
桥接 虚拟机直接连接到物理网络 像独立电脑
分享:
扫描分享到社交APP
上一篇
下一篇