VirtualBox虚拟机网络配置详解

VirtualBox虚拟机网络配置详解

VirtualBox提供了几种虚拟网络配置类型。本文将解释各种网络配置的差异和用途。

虚拟网卡

首先了解一下VirtualBox对网络硬件的模拟,VirtualBox 6.X 提供下面几种虚拟网卡:

  • PCnet-PCI II (Am79C970A)
  • PCnet-FAST III (Am79C973)
  • Intel PRO/1000 MT 桌面 (82540EM)
  • Intel PRO/1000 T 服务器 (82543GC)
  • Intel PRO/1000 MT 服务器 (82545EM)
  • 准虚拟化网络 (virtio-net)

可以在虚拟机的网络配置里查看:

PCnet-FAST III是默认的,所有系统都支持。

Intel PRO/1000系列是为了支持没有PCNet卡驱动程序的虚拟机系统,比如Windows Vista。

准虚拟化网络(virtio-net)使用虚拟机操作系统提供的Virtio网络接口,Virtio是一种网络和磁盘的虚拟化接口标准。

网络模式

VirtualBox提供了下面几种网络连接模式:

  • 未指定
  • 网络地址转换(NAT)
  • NAT 网络
  • 桥接网络
  • 内部网络
  • 仅宿主机(Host-Only)网络
  • 通用驱动

可以在虚拟机的网络配置里查看:

未指定

虚拟机系统有网卡,但不连接。

网络地址转换(NAT)

NAT模式是VirtualBox的默认网络模式,可以从虚拟机访问外网,但不能从外网访问虚拟机。如想从外网访问虚拟机需要做端口转发。

NAT 网络

NAT网络模式是前一种NAT模式的变体,同样的,虚拟机可以访问外网,但外网不能访问虚拟机。不同的是,多个虚拟机之间可以组网。

桥接网络

在这种模式下,虚拟机将作为一个独立主机直接加入宿主机所在的网络。

内部网络

虚拟机之间组网。相同内部网络的虚拟机之间可以互通,不能与宿主机或外网通信。

仅宿主机(Host-Only)网络

主机与多个虚拟机组网,但虚拟机不能连外网。

通用驱动

不常用。目前通用网络模式有两种可能的子模式:

  • UDP Tunnel[8]
  • VDE (Virtual Distributed Ethernet) networking

下表是重要网络模式的总结。

网络模式 虚拟机 → 宿主机

虚拟机 ← 宿主机

虚拟机1 ↔ 虚拟机2

虚拟机 → 外网

虚拟机 ← 外网

仅宿主机(Host-Only)

+

+

+

内部网络

+

桥接网络

+

+

+

+

+

网络地址转换(NAT)

+

端口转发

+

端口转发

NAT 网络

+

端口转发

+

+

端口转发

端口转发

NAT模式下,宿主机或外网无法访问虚拟机内部网络,需要通过端口转发才能访问。VirtualBox监听主机上的某些端口,并将到达该端口的所有数据包转发给虚拟机。

举例说明,设置SSH端口转发(可参考文章),设置好后外网可以SSH登录到虚拟机:

右键点击窗口底部的网络图标,弹出菜单,选择网络...

image

点击端口转发

image

添加转发规则,映射IP和端口

主机IP – 宿主机IP
主机端口 – 宿主机映射端口
子系统IP – 虚拟机内部系统IP
子系统端口 – 虚拟机内部系统端口

image

打开 PuTTY,连接 127.0.0.1:8022,成功连接

image


评论

stephen
当选择net模式时,端口转发按钮点不了。为什么?
回复 · 4年前

ppp
需要设置为“网络地址转换(NAT)”
回复 · 4年前