谈到虚拟环境,VMware vSphere 网络可能是最关键的组件之一。

您的 ESXi 主机和虚拟机如何通信?

由于虚拟网络是其他一切运行方式的关键,因此我们需要对 ESXi 网络的工作原理有很好的了解。

1、ESXi 网络剖析

当涉及到我们的 ESXi 主机及其网络通信时,我们首先需要了解的是它们需要做什么,有几种不同的方式进行交流:

  • 相互交流(想想 vMotion)
  • 与 vCenter 通信(想想 HA)
  • 与他们依赖的外部资源进行通信,例如存储阵列或 Active Directory
  • 允许它们的常驻虚拟机与它们可能依赖的其他虚拟机和外部资源进行通信

因此,必须在我们的环境中配置VMware vSphere中ESXi 网络的几个不同组件。

  • ESXi 主机上的虚拟交换机
  • 虚拟交换机上的端口组

在这些类别中的每一个类别中,都有许多事情需要考虑。

2、ESXi 主机上的虚拟交换机

将 ESXi 主机上的虚拟交换机视为您之前可能遇到的任何其他交换机,当涉及到网络层时,ESXi 中的虚拟交换机是为我们的 ESXi 主机提供连接、冗余和负载平衡的方式。

有两种类型的开关,尽管您可能会听到它们各自使用几个不同的名称。

  • vSphere 标准交换机
  • vSphere 分布式交换机(需要vSphere Enterprise Plus 许可)

让我们来看看每个虚拟交换机及其特性。

3、vSphere 标准交换机 / 标准 vSwitch / vSwitch

基本虚拟交换机,也称为 vSwitch。它是 VMware vSphere 中第一种可用的交换机类型,使用标准 vSwitch 并没有错,尽管它们比 vSphere Distributed Switch 更难管理。

标准 vSwitch 驻留在 ESXi 主机上,必须在每个主机上单独配置,有几种方法可以简化此过程,例如使用PowerCLI或主机配置文件。

一文带你了解VMware vSphere 网络、vSwitch、端口组_网络

网络交换机连接到 ESXi 主机中的网卡,而 ESXi 主机中的网卡连接到 ESXi 中的虚拟交换机。而已!

当我们谈论 ESXi 主机的 NIC 时,我们称它们为 vmnic,因为它们在 ESXi 中就是这样称呼的。vmincs 总是从 0 开始,所以你的第一个物理网卡端口将对应于 vmnic0。

您的 ESXi 主机上可能有多个 vSwitch,具体取决于您设计虚拟网络的方式。

4、vSphere 分布式交换机/分布式虚拟交换机/dvSwitch

在物理方面,标准虚拟交换机和分布式虚拟交换机之间没有太大区别,我们仍然以冗余方式将 ESXi 主机中的网卡连接到网络交换机,改变的是虚拟层,以及 VMware vSphere 本身内的交换机。

这是分布式虚拟交换机的图片:

一文带你了解VMware vSphere 网络、vSwitch、端口组_网络_02

如您所见,交换机配置本身位于 vCenter 服务器而不是 ESXi 主机上,当然,如果 vCenter 出了什么问题,这可能是个问题,对吧?

每个 ESXi 主机上都有分布式虚拟交换机配置的副本,正如您在每个主机上的亮蓝色交换机中看到的那样,这样,如果 vCenter 发生问题,我们的虚拟机就不会受到影响。

我记得当分布式虚拟交换机在 vSphere 4 中首次出现时,它让每个人都大吃一惊,因为我们习惯的做事方式发生了如此巨大的转变,所以让我们再次分解我们的 vSphere 分布式交换机:

一文带你了解VMware vSphere 网络、vSwitch、端口组_运维_03

每个 vmnic 都连接到分布式虚拟交换机上的相应 dvUplink 端口。然后通过 vCenter 服务器管理分布式虚拟交换机。关于这一点的重要部分是分布式虚拟交换机配置在每个 ESXi 主机上的设计都是相同的。

与标准 vSwitch 类似,可以使用 vSphere Client、PowerCLI 或主机配置文件管理分布式 vSwitch。这里的区别在于,您在 vCenter 服务器上配置单个分布式虚拟交换机,而不是 ESXi 主机上的单个虚拟交换机。

5、哪种 VMware 虚拟交换机适合我的环境?

这是一个很好的问题,不幸的是没有唯一的答案。您选择使用标准虚拟交换机还是分布式虚拟交换机将取决于您的环境的独特要求。

在做出选择时,重要的是在确定满足您要求的内容时牢记基础设施设计质量。他们是:

  • 可用性
  • 可管理性
  • 性能
  • 可恢复性
  • 安全

按对项目的重要性对这些品质进行排名也可能会有所帮助。

在宣布您的 VMware vSphere 环境已准备好投入生产之前,请务必广泛测试您的 VMware vSphere 网络配置。

请记住,vSphere Distributed Switch 确实需要VMware Enterprise Plus 许可。

6、VMware 中的 NIC 成组策略

VMware 网络的另一个重要组成部分是 NIC 组合。NIC teaming 正在以一种促进负载平衡和防止组件故障的方式设置我们的虚拟交换机。

例如,如果我的交换机连接了两个物理网卡,在理想情况下,我希望确保流量流经两个物理网卡,如果其中一个网卡或上游交换机出现故障,我的交换机将保持操作。

在 VMware vSphere Networking 中有多种方法可以实现这一点。

现在假设我们已经配置了我们的交换机,继续下一步操作。

7、在虚拟交换机上配置端口组

当我们连接到我们的虚拟交换机时,我们会连接到一个叫做端口组的东西。端口组顾名思义,就是我们虚拟交换机上的一组虚拟端口。

有几种不同类型的端口组:

  • 虚拟机端口组
  • VMkernel 端口组

虚拟机端口组是我们连接虚拟机的方式。例如,我可能有一个带有单个 VLAN、多个 VLAN(VLAN 中继)的端口组,或者在分布式虚拟交换机的情况下是专用 VLAN。

至于 VMkernel 端口组,您可能会问……

8、什么是 VMkernel 端口?

好问题!VMkernel 端口用于 VMware vSphere 中的非虚拟机流量,正如您在配置网络时截取的屏幕截图中所见,有许多不同类型的 VMkernel 端口:

一文带你了解VMware vSphere 网络、vSwitch、端口组_安全策略_04

至少,每个 ESXi 主机都有一个 VMkernel 端口用于主机管理。如果它是 vSphere 集群的成员,它还将有一个用于 vMotion 的 VMkernel 端口。如果群集是 vSAN 群集,则将有一个用于 vSAN 的 VMkernel 端口。

如果您正在利用该功能,还将有用于基于 IP 的存储(例如 iSCSI、NFS 或 FCoE)的 VMkernel 端口和用于容错的 VMkernel 端口。

虚拟机端口组和 VMkernel 端口组之间的最大区别在于它传递的流量类型,VMkernel 端口正在传递特定于 VMware vSphere 的流量,虚拟机端口组只是传递您的各种虚拟机流量。

您可以在官方 vSphere 网络文档中阅读有关 VMkernel 系统流量类型的更多信息。

每个 VMkernel 端口都有自己唯一的 IP 地址,您还可以更改 VMkernel 端口上的默认 MTU 1500。

9、VMware vSwitch 安全设置

现在我们已经涵盖了 vSphere 网络的大部分基础知识,我想更深入地挖掘一些涉及 VMware 交换机配置的领域。VMware vSwitch 安全设置经常被误解。

一文带你了解VMware vSphere 网络、vSwitch、端口组_服务器_05

这些安全设置中的每一个都有两个选项:拒绝或接受。

默认情况下,这些安全设置在我刚刚创建的这个分布式虚拟交换机端口组上设置为拒绝,让我们来看看它们各自的真正含义。

9.1、混杂模式 VMware 安全策略

这听起来几乎和它的意思一模一样。如果混杂模式设置为接受,虚拟机的网卡将接受发送到该端口组上的活动 VLAN 的所有帧。

这并不安全,但它确实有其用例。如果您正在运行需要检查所有数据包的虚拟机,例如入侵检测系统,您可以将此选项设置为接受。

默认情况下,它被设置为拒绝,应该保持这种状态。

9.2、MAC 地址更改 VMware 安全策略

MAC 地址更改着眼于进入虚拟机的入站流量。

当涉及到虚拟机的网络接口时,有几个不同的 MAC 地址。

首先,有在虚拟机的 VMX 文件中指定的 MAC 地址,把这想象成你的虚拟机有一个物理 NIC 卡,它是制造商指定的 NIC 卡的 MAC 地址。

还有虚拟机中指定的 MAC 地址,它与 VMX 文件中的 MAC 地址相同……除非您出于某种原因需要更改它。

在虚拟机的属性中,可以更改 MAC 地址。过去我已更改以确保虚拟机的 MAC 地址与 P2V 后物理机的 MAC 地址相同,因为软件许可证与 MAC 地址相关联。

在某些有效用例中,这些 MAC 地址可能不同,您必须将 MAC 地址更改设置为接受。

否则,应将其设置为拒绝,因为恶意行为者也可能使用欺骗性 MAC 地址对您的环境造成严重破坏。

9.3、Forged 传输 VMware 安全策略

Forged Transmission 还会查看虚拟机的 MAC 地址,但它会处理传出流量。

如果这两个 MAC 地址不匹配,它将丢帧,类似于 MAC 地址更改。

再一次,有一些有效的用例可以将伪造的传输设置为接受,例如嵌套的 ESXi。在这种情况下,我们将发送各种疯狂的数据包!

伪造传输和 MAC 地址更改密切相关。

10、VMware 中的专用 VLAN

当我们谈到端口组时,我们也谈到了私有 VLAN。

私有 VLAN 是一种比在 VLAN 级别隔离流量更细化的方法,这就是为什么在我们开始安全讨论后我要提出它的原因。

专用 VLAN 专用于分布式虚拟交换机,您的 ESXi 主机所连接的物理交换机也必须支持专用 VLAN。

当我们使用 PVLAN 时,我们使用的 VLAN 会以几种方式分解:

  • 主 PVLAN,这是混杂的。
  • 辅助 PVLAN,有两种类型,community和isolated。

让我们看看下面这张图, Primary PVLAN 为绿色,secondary PVLAN 为蓝色。

一文带你了解VMware vSphere 网络、vSwitch、端口组_用例_06

isolated PVLAN 上的虚拟机端口只能与主 PVLAN 上的混杂端口通信,虚拟机端口无法与隔离 PVLAN 上的其他端口通信。

community PVLAN 上的虚拟机端口以及主 PVLAN 上的混杂端口可以相互通信。

11、VMware vSwitch 安全性摘要

当涉及虚拟交换机的安全策略设置时,最好将它们设置为拒绝,除非您有特定的用例,如果您确实有理由需要设置混杂模式、更改 MAC 地址或伪造传输来接受,相应地修改安全设置。

专用 VLAN 是在虚拟网络环境中提供流量分段的另一种方式,请务必特别注意次要 PVLAN 类型,确保事情按期望的方式工作。

好消息是 PVLAN 设置很容易更改以进行故障排除,VMware vSphere 网络文档中对此进行了进一步描述。

12、VMware vSphere 网络基础知识

了解 VMware vSphere 网络基础知识对于 VMware 管理员、网络管理员、IT 安全分析师以及几乎所有需要接触 VMware vSphere 环境的人来说都很重要,虽然许多传统网络概念确实适用于 VMware vSphere,但熟悉虚拟化层的转换方式非常重要。