VMware vSwitch 和双标记 (QinQ)

VMware vSwitch 和双标记 (QinQ)

我在尝试通过 vSwitch 传递双重标记时遇到问题。

VMWare 主机上的物理接口正在接收双标记流量 - 外部标记区分多个交换机(镜像远程标记),内部标记来自交换机自己的内部流量。内部流量可以标记或不标记,具体取决于镜像端口是接入端口还是中继端口。

vSwitch 配置了多个网络(每个网络都有来自不同交换机的不同外部标签),并且客户机应该只能看到(单个)标记的流量。

问题在于客户机没有接收到任何(在 phy 上)被标记为双重标记的流量。如果原始内部流量未被标记(主机上的 phy 仅接收 1 个标记),客户机将正确看到该流量。

我还进行了测试,并在 vSwitch 上配置了一个带有标签 4095 的网络,任何标记的流量都应通过该网络 (VGT)。同样,客户机只接收从 phy 收到的单个标记流量,唯一的区别是客户机将其视为带标签的流量。这证明客户机操作系统正确地看到了带标签的流量,并让我得出结论,问题出在 vSwitch 上。

那么有没有办法强制 vSwitch 忽略内部标签并不管内部标签如何都将流量传递给客户机?

有问题的 vSphere/vcenter/ESXi 版本 5.1.0。

答案1

我查看了文档,没有发现任何关于支持QinQ VLAN标记的提及(802.1ad) 无论是 vSwitches 还是分布式交换机,并且不得不得出结论,vSphere 不支持它。我曾寄希望于思科的 Nexus 1000v 虚拟交换机能够支持 QinQ,但它似乎不支持。显然,Nexus 5000 系列甚至不支持 QinQ,但似乎在Nexus 7000 系列

在做出任何设计决策之前,我会与 VMware 和 Cisco 的支持人员确认这一点,但这似乎不是一种可能的配置。

答案2

问题实际上在于 vmware 概念如何处理现有端口组上的标记流量。如果它剥离外部 VLAN,那么它也会丢弃任何内部 VLAN(如果有)。唯一的解决方案是防止 vmware 在数据包到达时窃听/修改它们 - 这意味着不应执行任何 VLAN 添加或剥离。我设法通过在每个端口组中使用 vDSW 和 VLAN 中继来实现这一点。在这样的设置中,VM 会获得未修改的双标记流量。对于镜像和流量分析,这是可以接受的,但对于生产系统,这不是一个可行的解决方案。v(D)SW 上应该有某种 VLAN 隧道选项。

相关内容