virtualbox网络配置详解 virtualbox怎么样配置网络

引言:近期在 macbook pro m1 下研究通过 Vagrant 配置 Vmware、Virtualbox 虚拟机搭建 K8S 集群的问题,碰到虚拟机的网络设置,有许多概念性的东西会困扰到集群网络的搭建,在参考文章的过程碰到一片较好的英文 blog 文章,详细介绍了虚拟机网络的配置,可惜是英文,索性翻译过来供大家参考 。
在现代商业世界中,网络是交互式计算机操作的一个重要组成部分 。很难想象,在这个变化速度越来越快的世界里,没有网络,如何在计算机之间交换数据 。硬件虚拟化背后的核心思想之一是在所有可以使用物理计算机的场景下使用虚拟机 。因此,虚拟机必须能够使用虚拟网络适配器连接到物理和虚拟网络 。
在 VirtualBox 上运行的虚拟机可以连接到不同的网络 。VirtualBox 为虚拟机提供了多种网络模式 。今天的博文涉及 VirtualBox 网络设置,帮助你以最佳方式配 VirtualBox,以满足你的需求 。下面我们将讨论并比较以下这些 VirualBox 的网络模式:

  • Not Attached
  • NAT
  • NAT 网络 3、
  • 桥接适配器
  • Internal 网络
  • Host-Only 适配器
  • 通用驱动
一、虚拟网络适配器
每个 VirtualBox 虚拟机最多可以使用 8 个虚拟网络适配器,每个适配器又被称为网络接口控制器(NIC) 。4 个虚拟网络适配器可以在 VirtualBox GUI(图形用户界面)中进行配置 。所有的虚拟网络适配器(最多 8 个)都可以用 VBoxManage modifyvm 命令进行配置 。VBoxManage 是 VirtualBox 的一个命令行管理工具,可用于配置所有 VirtualBox 设置,包括 VirtualBox 网络设置 。可以在虚拟机设置中访问 VirtualBox 网络适配器设置(选择你的虚拟机,点击设置,在虚拟机设置窗口中进入网络部分) 。
virtualbox网络配置详解 virtualbox怎么样配置网络

文章插图
如上图,你应该看到 4 个适配器页签 。在虚拟机创建后,默认情况下会启用一个虚拟网络适配器 。你可以勾选 \"启用网络适配器 \"复选框来启用适配器,不勾选复选框来禁用它(这个复选框定义了虚拟网络适配器设备是否连接到虚拟机上) 。点击 \"高级\",展开高级 VirtualBox 网络适配器设置 。
二、VirtualBox 中的虚拟网络适配器的类型
一个虚拟网络适配器是一个软件模拟的物理设备,有 6 种虚拟适配器类型可以通过 VirtualBox 进行虚拟化:
1、AMD PCnet-PCI II(Am79C970A) 。这种网络适配器是基于 AMD 芯片的,可以在很多情况下使用 。对于 Windows 用户,这种网络适配器可以用于旧版本的 Windows 系统(如 Windows 2000),因为较新的 Windows 版本,如 Windows 7、8 和 10 不包含这种适配器的内置驱动程序 。最初,Am79C970A PCI 设备包含一个单芯片 10-Mbit 控制器,并集成了 DMA 引擎 。这个网络适配器还支持 AMD 的 Magic Packet 技术,用于远程唤醒 。
2、AMD PCnet-FAST III(Am79C973) 。这个虚拟化的网络适配器被几乎所有可以在 VirtualBox 上运行的操作系统所支持 。GRUB(启动加载器)可以使用这个适配器进行网络启动 。与上述的网络适配器类似,这个适配器也是基于 AMD 芯片 。
3、英特尔 PRO/1000 MT 桌面(82540EM) 。这个适配器可以与 Windows Vista 和较新的 Windows 版本完美配合 。大多数的 Linux 发行版也支持这个适配器 。
4、英特尔 PRO/1000 T 服务器(82543GC) 。Windows XP 无需安装额外的驱动程序就能识别该适配器 。
5、英特尔 PRO/1000 MT 服务器(82545EM) 。这个适配器模型对于从其他平台导入 OVF 模板很有用,可以加速导入过程 。
6、Paravirtualized 网络适配器(virtio-net)是一个特殊情况 。客户操作系统必须为虚拟化环境提供一个特殊的软件接口,而不是将大多数操作系统支持的网络硬件虚拟化 。这种方法允许你避免网络硬件仿真的复杂性,因此可以提高网络性能 。VirtualBox 支持行业标准的 virtIO 网络驱动 。VirtIO 网络驱动是 KVM 项目的一部分,是开源的 。这些驱动程序可用于内核为 2.6.25 或更高版本的 Linux,以及包括 Windows 2000、XP 和 Vista 等旧版本的 Windows 。
巨型帧(Jumbo frames)
支持 VirtualBox 对巨型帧(可以携带大小超过 1500 字节的数据包的以太网帧)提供有限的支持 。如果你需要使用巨型帧,请选择一个英特尔的虚拟网络适配器,并将该适配器配置为桥接模式工作 。基于 AMD 的虚拟网络适配器不支持 Jumbo 帧 。如果你试图为基于 AMD 的虚拟网络适配器启用巨量帧,巨量帧的输入和输出流量将被无声地放弃 。默认情况下,巨型帧是禁用的 。
三、VirtualBox 的网络模式