VMware vSwitch 和雙重標記 (QinQ)
我在嘗試通過 vSwitch 傳遞雙重標記時遇到問題。
VMWare 主機上的物理介面正在接收雙標記流量 - 外部標記區分多個交換機(鏡像遠端標記),內部標記來自交換機自己的內部流量。根據鏡像埠是訪問埠還是中繼,內部流量可以被標記和未標記。
vSwitch 配置有多個網路(每個網路用於來自不同交換機的不同外部標記),並且來賓電腦應該只看到(單個)標記的流量。
問題是客戶機沒有接收到(在 phy 上)作為雙標記接收的任何流量。如果原始內部流量未標記(主機上的 phy 僅接收 1 個標記),則訪客可以正確看到該流量。
我還做了一個測試,並在 vSwitch 上配置了一個帶有 4095 標記的網路,任何標記的流量都應該通過 (VGT)。再次,客戶機僅接收從 phy 接收到的單個標記流量,唯一的區別是客戶機將其視為已標記。這證明來賓作業系統正確地看到了標記的流量,並讓我得出結論,問題出在 vSwitch 上。
那麼有沒有辦法強制vSwitch忽略內部標籤並將流量傳遞給guest而不考慮內部標籤?
有問題的 vSphere/vcenter/ESXi 版本 5.1.0。
問題實際上在於 vmware 概念如何處理退出埠組上的標記流量。如果它剝離了外部 VLAN,那麼它也會丟棄任何內部 VLAN(如果有的話)。唯一的解決方案是防止 vmware 在數據包到達時對其進行竊聽/修改——這意味著不應執行 vlan 添加或剝離。我設法通過在每個埠組中使用 vDSW 和 VLAN 中繼來實現這一點。在這樣的設置中,VM 會獲得未經修改的雙重標記流量。對於鏡像和流量分析,這是可以接受的,但對於生產系統,這不是一個可行的解決方案。v(D)SW 上應該有各種可用的 VLAN 隧道選項。
我查看了文件,發現沒有提到對 vSwitch 或分佈式交換機的 QinQ VLAN 標記 ( 802.1ad ) 的支持,並且不得不得出結論,vSphere 不支持它。我非常希望 Cisco 的 Nexus 1000v 虛擬交換機支持 QinQ,但似乎也不支持*。*顯然,Nexus 5000 系列甚至不提供 QinQ 支持,但看起來它在Nexus 7000 系列中。
在做出任何設計決策之前,我會通過 VMware 和 Cisco 的支持確認這一點,但似乎這不是一種可能的配置。