虚实相映,相得益彰 – VMware 的组网工具箱

作为虚拟化领域的翘楚,VMware 提供了全面的虚拟化能力。除了提供主机的虚拟化能力,VMware 还具备全面的网络虚拟化能力。利用 VMware,几乎可以构建任意类型的虚拟网络。

将复杂系统分解为基本构件的逻辑组合,是一种常用的分析方法论,对于复杂网络也是如此。VMware 提供了 3 种基础的网络类型,分别是 Bridge 网络、NAT 网络、Host-only 网络,这三种网络作为基本构件,利用其逻辑组合,可进一步构成任意的复杂网络。

VMware 基础网络的构成

要组网,需要两类资源:一是网络上的主机;二是交换机等组网设备,VMware 的虚拟网络组建也需要同样的资源。以 VMware Workstation 为例。

针对网络上的主机 — 人工创建

VMware Workstation 通过构建单独的虚拟机实例来实现

针对组网设备

VMware Workstation 软件直接提供相关的虚拟设备

1) 虚拟交换机 — 人工创建

交换机是组网的关键设备。和一台物理交换机一样,一台虚拟交换机能把主机、虚拟计算机和其它网络设备连接在一起。虚拟交换机由 VMware Workstation 软件直接创建。

在 Windows 系列的主机上,最多可用 10 台虚拟的交换机,但在 Linux 主机上,可用多达 256 台的虚拟交换机。

VMware 提供的几类默认的典型交换机,这几类交换机分别为 Bridge 网络、NAT 网络、Host-only 网络提供交换机功能支撑。默认情况下,真实主机都通过不同的虚拟网卡连接到这几类默认交换机上。

  • vmnet0 交换机

    真实主机必须参与连接。与真实主机上的网络适配器构成“桥接”,连入该交换机的虚拟机将直接连接到真实主机的真实局域网,虚拟机获得真实局域网对应网段的 IP 地址。连入该交换机的虚拟机相当于在真实局域网中增加了“真实”的主机。

    vmnet0 交换机构成网络具体原理如下图:

    vmnet0

    总的来说,桥接交换机与真实主机的网络适配器紧密关联,在 VMware 虚拟网络中,每个桥接交换机中一定有一个真实主机中的网络适配器连入(桥接交换机中虚拟机”窃取”真实网络适配器同网段 IP);一个真实主机的网络适配器最多只能接入一个桥接交换机

  • vmnet1 交换机

    真实主机选择性参与连接。vmnet1 交换机是 host-only 网络模式所使用的交换机,本质上就是一个普通的虚拟交换机。当真实主机连入时,通过虚拟网络网卡 VMnet1 连入该交换机。

    vmnet1 交换机构成网络具体原理如下图:

    vmnet1

  • vmnet8 交换机

    真实主机选择性参与连接。vment8 交换机是 nat 网络模式所使用的交换机。与 host-only 模式唯一的区别,是在网络架构中增加了一个 NAT 设备,完成地址转换任务。

    vmnet8 交换机构成网络具体原理如下图:

    vmnet81

2) 虚拟 NAT 设备 — 自动创建

仅用于 NAT 网络中,提供地址转换功能,该设备随着 NAT 交换机的创建而同步创建。构建虚拟网络时,既可以使用 VMware 提供的 NAT 设备,也可用户主动创建 NAT 设备(路由器)。

3) 虚拟 DHCP 服务器 — 自动创建

用于 host-only 网络和 NAT 网络,为虚拟机提供 IP 动态分配功能,Bridge 网络的虚拟机 IP 通过主机真实网络的 DHCP 服务提供。如为上述两种网络类型的虚拟机选择 DHCP 服务,则该设备随着相关网络的交换机创建而同步创建。

4) 路由器 — 人工创建

路由器是将各个网络连接到一起的纽带。VMware 创建虚拟网络时,不提供一般性的 IP 转发路由器功能。构建复杂网络时,需用户人工创建路由器。即将路由器当做网络上一台特定的虚拟主机来构建。在一个虚拟机上安装特定路由器操作系统,或开通一般操作系统 IP 数据报转发功能。

现实网络的构建需通过主机与组网设备的各种组合,映射到 VMware 的方法论中,通过 “主机 + 路由器(特定设置的主机) + 3 种网络类型” 的各种逻辑组合,可以构建各类虚拟网络。

Reference:

  1. https://blog.csdn.net/dog250/article/details/7363534
  2. https://blog.csdn.net/zhoudaxia/article/details/6076615
  3. https://www.linuxidc.com/Linux/2016-09/135521.htm

发表评论

电子邮件地址不会被公开。 必填项已用*标注