vSwitch を介して二重タグを渡そうとしているときに問題が発生しています。
VMWare ホスト マシン上の物理インターフェイスは、二重タグ付きトラフィックを受信しています。外側のタグは複数のスイッチを区別し (リモート タグをミラーリング)、内側のタグはスイッチ自体の内部トラフィックからのものです。ミラーリングされたポートがアクセス ポートかトランクかに応じて、内部トラフィックはタグ付きとタグなしの両方になります。
vSwitch は複数のネットワーク (それぞれ異なるスイッチからの異なる外部タグ用) で構成されており、ゲスト マシンは (単一の) タグ付きトラフィックのみを認識する必要があります。
問題は、ゲスト マシンが (phy 上で) 二重タグとして受信されたトラフィックをまったく受信していないことです。元の内部トラフィックがタグ付けされていない場合 (ホスト マシン上の phy は 1 つのタグのみを受信します)、ゲストはそのトラフィックを正しく認識します。
また、タグ 4095 の vSwitch でネットワークをテストし、タグ付きトラフィックが通過するネットワーク (VGT) を構成しました。この場合も、ゲスト マシンは phy から受信した単一のタグ付きトラフィックのみを受信します。唯一の違いは、ゲストがそれをタグ付きとして認識することです。これは、ゲスト OS がタグ付きトラフィックを正しく認識していることを証明し、問題は vSwitch にあるという結論に至りました。
では、vSwitch に内部タグを無視させ、内部タグに関係なくトラフィックをゲストに渡すように強制する方法はありますか?
問題となっている vSphere/vcenter/ESXi バージョン 5.1.0。
答え1
ドキュメントを確認しましたが、QinQ VLANタグのサポートについては何も言及されていませんでした(802.1ad)はvSwitchまたはDistributed Switchのいずれにも使用できず、vSphereではサポートされていないと結論付けざるを得ません。CiscoのNexus 1000v仮想スイッチがQinQをサポートすると期待していましたが、またサポートされていないようです。どうやらQinQサポートはNexus 5000シリーズでは利用できないようですが、Nexus 7000 シリーズ。
設計上の決定を行う前に VMware と Cisco のサポートに確認しますが、これは可能な構成ではないようです。
答え2
問題は、実際には、既存のポート グループでタグ付けされたトラフィックを処理する VMware の概念にあります。外部 VLAN を削除すると、内部 VLAN があればそれも破棄されます。唯一の解決策は、到着したパケットを VMware がタップしたり変更したりしないようにすることです。つまり、VLAN の追加や削除は実行しないということです。私は、各ポート グループで vDSW と VLAN トランキングを使用することで、これを実現できました。このような設定では、VM は変更されていない二重タグ付けされたトラフィックを取得します。ミラーリングとトラフィック分析ではこれで問題ありませんが、実稼働システムでは実行可能な解決策ではありません。v(D)SW で利用できる VLAN トンネリング オプションがあるはずです。