Hyper-Vの仮想マシンにミラーポートを接続する

利用シーンとしては複数NICを持つWindowsサーバーをホストとし、追加したHyper-Vの仮想マシンにホストの物理NICのトラフィックを流したい場合となります。下図がそのイメージです。

本サイトで度々紹介している、ntop社のntopngを利用する場合には有効な方式かと思います。

Hyper-V上のVMにミラーポートのトラフィックを流す

Hyper-Vマネージャーを起動します。

画面右の「仮想スイッチマネージャ」をクリックします。

「外部」を選択して、「仮想スイッチの作成(S)」をクリックします。

名前に任意の名称を入力してください。下図では「mirror2」と入力しています。また、画面中央の「外部ネットワーク」でホスト側の物理NICを選択してください。

作成したネットワークスイッチの拡張を押し、Microsoft NDISキャプチャにチェックします。

仮想マシンが停止していることを確認し、ミラーポートのトラフィックを参照させたい仮想マシンの設定画面で、作成したネットワークスイッチを追加します。

追加したネットワークアダプタの「高度な機能」で、「ポートミラーリング」セクションで、「移行先」を選択して設定します。

最後にPowershellで以下のコマンドを実行すれば、ミラーポートのトラフィックを仮想マシンに流すことができます。

画像では、-SwitchName “mirror”としておりますが作成した名称に適宜変更してください。

以下は、コピペ用です。

$ExtPort = Get-VMSystemSwitchExtensionPortFeature -FeatureId 776e0ba7-94a1-41c8-8f28-951f524251b5
$ExtPort.SettingData.MonitorMode = 2
add-VMSwitchExtensionPortFeature -ExternalPort -SwitchName "New Virtual Switch" -VMSwitchExtensionFeature $ExtPort

最初の1行目、何をやっているか気になっている人が多いと思います。

PS C:\WINDOWS\system32> Get-VMSystemSwitchExtensionPortFeature -FeatureId 776e0ba7-94a1-41c8-8f28-951f524251b5


Id            : 776e0ba7-94a1-41c8-8f28-951f524251b5
ExtensionId   : 11EC6134-128A-4A23-B12F-164184B48348
ExtensionName : Microsoft 仮想イーサネット スイッチ ネイティブ拡張
Name          : Ethernet Switch Port Security Settings
SettingData   : Msvm_EthernetSwitchPortSecuritySettingData: Ethernet Switch Port Security Settings (InstanceID = "Micro
                soft:Definition\776E0BA7-94A1-41C8...)
CimSession    : CimSession: .
ComputerName  : DESKTOP-LKSM0QQ
IsDeleted     : False



PS C:\WINDOWS\system32>

1行目で、Microsoft 仮想イーサネット スイッチ ネイティブ拡張オブジェクトの取得。2行目でミラーの設定をしています。そして、三行目で設定反映となります。

(Visited 1,270 times, 1 visits today)
The following two tabs change content below.
【好きなもの】 インフラ技術が好き。古いものが好き。 【生きてきたフィールド】 システム運用、ソフトウェア開発、ミドルウェア検証、OSSサポート、プリセールスエンジニア、プロジェクトマネジメント 【このサイトでの役割】 サイト管理者。