VMware NSX 4.2の環境において、NSXセグメント(VLAN、オーバーレイともに)は、vSphere Distributed Switchのように「プロミスキャスモード」はサポートしていません。
その為、VDSのポートグループを「プロミスキャスモード」にして、仮想マシンでパケットキャプチャを実施していた場合に、NSXセグメントにて同様の手段でパケットキャプチャを取得するには、VMware NSXにおける「Port Mirroring」機能 を使用する必要があります。
※ NSX Port Mirroring: トラブルシュート目的で、トラフィックを複製かつリダイレクトする機能
検証構成について
今回はVMware NSX 4.2 のNSXセグメントに、今回は以下の仮想マシンを接続します。
- VDI VM(VDI01、VDI02):VDI間で接続を、Firewallによりブロックします。
- Non-VDI:Firewallによる通信のブロックは発生しないVMです。
- Win2019: Wiresharkによるパケットキャプチャを実施するVMです。
NSX ポートミラーリングの設定について
NSX ポートミラーリングについて、NSX ManagerのUIより、[プランとトラブルシューティング] > [ポートミラーリング] より、[セッションの追加] > [論理SPAN] を選択します。 (今回は同一のL2オーバーレイセグメントにおけるポートミラーリングの為、[論理SPAN] を選択します。)
ポートミラーリングに名前をつけ、送信元にVDI01、VDI02、Non-VDIを指定し、これらの3つのVMのトラフィックを転送する先として宛先に、Win2019のWireshark稼働VMを指定します。
分散Firewallの構成
パケットキャプチャの取得にあたり、分散Firewallの動作を確認する為、事前に分散Firewallルールを作成します。
分散Firewallルール:VDI01とVDI02間の通信をドロップする。(Non-VDIとVDI01及びVDI02の通信は拒否されない)
一旦分散Firewallルールを無効化し、デフォルトの動きを確認していきます。
パケットキャプチャの実施
分散Firewallルールはまだ無効化されている為、VDI01及びVDI02間のPingは通ります。
Win2019 VMのWiresharkによるパケットキャプチャ結果は以下のようになり、VDI01及びVDI02間の通信も実行出来、またNon-VDI及びVDI01間の通信も実施可能です。
ここで、上記で作成したVDI VM間の通信をドロップする分散Firewallルールを有効化します。
VDI01及びVDI02の間のPingはドロップされ、実行できません。
再度パケットキャプチャを確認すると、VDI01及びVDI02間の通信はドロップされている為、表示されませんが、Non-VDI及びVDI01間の通信は分散Firewallの対象外となるため確認出来ます。
同様に、分散Firewallにおける禁止のアクションが「却下」の場合についても見ていきます。
パケットキャプチャの取得結果として、VDI01及びVDI02間の通信が却下される様子が確認出来ます。(Non-VDI及びVDI01間の通信には影響しません)