NutaNice Xperience

主にNutanix製品を検証したり触ったりした結果をつづっています。※このブログの内容は個人の見識や見解をもとに作成しています。参考にされる場合は自己責任でご活用ください。実際に製品を使用される場合は、メーカードキュメントの手順に従い実施してください。

Nutanix AOS 6.0の追加機能でAHVのSwitch Port Analyzer(SPAN)触ってみた

Nutanixでは、2021年6月のAOS 6.0ファミリーリリースでAHVへSwitch Port Analyzer(SPAN)が新機能として追加されました。この機能では、AHVの物理NICを流れるインバウンド・アウトバウンドまたは双方向のトラフィックを任意の仮想マシンのvNICへミラーリングできます。

Nutanixでは標準構成として仮想スイッチのアップリンクを10G-NIC×2でVLANトランクポートとして設定しますので、SPANで指定する送信元ポートは基本的にアップリンクチーミングされたボンドポートとなりそうです。(アップリンクチーミングメンバーに参加している物理NICのうちの片方のみのNICを送信元ポートとして指定することは不可)

今回は、SPANを設定したいAHV上の任意のVMへ、AHVのアップリンクボンドポートのトラフィックミラーリングしてみたいと思います。

今回の環境

AOS: 6.0 STS
Hypervisor: AHV 20201105.2076
SPAN宛先VM: Windows Server 2016(vm名: span-distination-vm

送信先VMをagent VMにする

agent VMとは、VMの電源ONの間は他のホストへマイグレーションしない仮想マシンの事です。AHV上の仮想マシンをagent VMにするには、任意のCVMへSSHログインして以下コマンドを実行します。

 [nutanix@cvm]$ acli vm.update <仮想マシン名> agent_vm=true

 コマンド実行し正常に完了すると、「complete」と表示されます。

f:id:tomomartin:20210817215702p:plain

SPANの宛先となるVMへvNICを追加

宛先となるVMへ、ポートミラーリング先となるvNICを追加します。任意のCVMへSSHログインし、以下コマンドを実行します。

 [nutanix@cvm]$ acli vm.nic_create <仮想マシン名> type=kSpanDestinationNic

 コマンドを実行すると「complete」と表示され、vNICが追加されます。

f:id:tomomartin:20210817220547p:plain

SPANセッションの作成

追加したvNICのMACアドレスやホストUUIDなどの情報を取得後、以下コマンドを実行してSPANセッションを作成します。

 nutanix@cvm $ acli net.create_span_session <spanのセッション名> source_list=\{uuid=<ホストuuid>,type=kHostNic,identifier=<ソースポート名>,direction=<トラフィックタイプ>} dest_list=\{uuid=<宛先仮想マシンのuuid>,type=kVmNic,identifier=<宛先仮想マシンへ追加したvNICのmacアドレス>}

 かなり長いコマンドになりますが、ポイントだけ解説します。

  • ソースポート名:AHVのボンドポートか物理NICのインターフェースを指定します。(例:「br0-up」、「eth0」など)
  • トラフィックタイプ:インバウンドのみ→「kIngress」アウトバウンドのみ→「kEgress」、双方向→「kBiDir」

各種情報を入力してコマンドを実行すると、「complete」と表示されてSPANセッションが作成されました。(見づらくてごめんなさい。)

f:id:tomomartin:20210817224604p:plain

ここまでできたら、SPAN宛先VMWiresharkなどを用いて送信元ポートのパケットがキャプチャできるようになります。

f:id:tomomartin:20210817230919p:plain

SPANセッションの削除

作成したSPANセッションを削除したい場合は、任意のCVMへSSH接続し、以下コマンドを実行します。

 [nutanix@cvm]$ acli net.delete_span_session <SPANセッション名>

コマンド実行すると、「complete」と表示され、SPANセッションが削除されます。

f:id:tomomartin:20210817231803p:plain

今回は、AHVでSPANセッションを作成してみました。細かいところまで確認できてないですが、今日はこの辺で。