Hyper-V におけるポートミラーリング:設定ガイド
トラブルシューティングは、ネットワークを扱うシステム管理者にとって日常的な作業です。プロ仕様のネットワーク機器には通常、ポートミラーリングなどの監視やトラブルシューティングのための機能が備わっています。ポートミラーリングは、Microsoft Hyper-V ホスト上の仮想ネットワークや仮想マシン (VM) 間のネットワーク通信など、仮想環境におけるネットワークトラフィックの分析にも役立ちます。このブログ記事では、仮想環境におけるネットワーク通信を分析するために、Microsoft Hyper-V のポートミラーリングを設定する方法について説明します。
ポートミラーリングの主要な概念
ポートミラーリングの設定方法を説明する前に、その主要な概念、動作原理、およびHyper-Vの既存の構成機能について確認しておきましょう。
ポートミラーリングとは何ですか?
ポートミラーリングとは、ソースホストのネットワークポートのネットワークトラフィックをセカンダリホストのネットワークポート(アダプタ)に複製し、そのトラフィックをさらに分析できるようにする機能です。 ホストとは、物理マシン、仮想マシン、ネットワークインターフェースを備えたネットワーク機器などを指します。この文脈において、送信元ホストとは、そのネットワークトラフィックが監視されるホストのことです。送信元ポートは”ミラーリングポート”とも呼ばれ、宛先ポートは”監視ポート”とも呼ばれます。ポートミラーリングは、Switched Port Analyzer (SPAN) とも呼ばれます。
種類とメリット
ポートミラーリングは、ポート間の接続モードに応じて、ローカルおよびリモートの2種類があります。ローカルポートミラーリングの場合、送信元と宛先のネットワークポートは同じスイッチに接続されています。 リモートポートミラーリングは、送信元ポートと宛先ポートが異なるスイッチに接続されている場合に使用されます。リモートポートミラーリングでは、VLANタグ付けやGREカプセル化を使用して、ネットワークトラフィックを監視対象のポートおよびデバイスに転送することができます。
ポートミラーリングの利点は、稼働中のネットワークデバイスの処理に影響を与えることなく、ネットワーク通信を分析およびデバッグできることです。管理者はトラフィックを分析することで、ネットワーク上の攻撃の可能性を特定し、攻撃源を検知して、ネットワークセキュリティを向上させることができます。 ポートミラーリングを使用する場合、稼働中のマシン(例えば本番用VMなど)のゲストOS内でネットワークトラフィックを直接キャプチャする必要はありません。
なお、ポートミラーリングではミラーリングされたトラフィックを転送するために追加のネットワーク帯域幅が消費されるため、ネットワーク分析を行う必要がある場合にのみ、この機能をオンデマンドで有効にする必要がある場合があります。
ポートミラーリングとポートフォワーディングの比較
ポートミラーリングは、TCPパケットやUDPデータグラムなどのネットワークトラフィックをリダイレクトできないという点で、ポートフォワーディングとは異なります。トラフィックはミラーリング(複製)されますが、元のトラフィックの方向における送信元と宛先は変更されません。 元のトラフィックのコピーが、分析のために宛先へ送信されます。
ポートフォワーディングでは、トラフィック(TCPパケットやUDPデータグラムなど)の宛先を変更することができ、特定のパケット(またはその他のプロトコルデータ単位)をIPネットワーク内の別のIPアドレスやポートに到達させることができます。ポートフォワーディングは、ネットワーク間の通信のためにネットワークアドレス変換(NAT)と組み合わせて使用されます。元のトラフィックのコピーは作成されません。
Hyper-V におけるポートミラーリング
Hyper-V のポートミラーリング機能を使用すると、仮想スイッチを介して仮想マシンが接続されている仮想ネットワーク内のトラフィックを分析できます。これを行うには、対象となる仮想マシンを指定し、次のようなトラフィックキャプチャソフトウェアをインストールする必要があります。 Wireshark トラフィック分析のためです。この目的には、利用可能な他の侵入検知システム(IDS)を使用することもできます。
Hyper-Vのポートミラーリング機能は、ハードウェアのポートミラーリングと似ていますが、Hyper-V仮想スイッチレベルで実装されています。Hyper-V仮想スイッチでは、スイッチ拡張機能とポートACL(アクセス制御リスト)を使用して、転送およびトラフィックのスニッフィングに関するルールを設定します。
ポートミラーリングは、単一のHyper-Vホストの範囲内でのみ機能します。仮想マシンが異なるHyper-Vホスト上に存在する場合(たとえば、フェールオーバークラスター内や、あるホストから別のホストへのVM移行後など)、Hyper-Vポートミラーリングは使用できません。この場合、ソースVMが移行された2番目のHyper-Vホスト上で、ネットワーク分析を行うための追加の宛先VMを設定する必要があります。
ポートミラーリング設定の準備
Hyper-Vのポートミラーリングを設定するための要件について、よく理解しておく必要があります。
前提条件および設定条件
Hyper-V 環境でポートミラーリングを設定するための要件は、以下の通りです。
- Hyper-V が搭載され、管理者権限を持つ Windows Server 2012 R2(またはそれ以降)。クライアント OS として Windows 10 以降を使用できます。
- Hyper-V ホスト上の仮想スイッチ。
- ソースVMからのトラフィックを宛先VMにミラーリング(複製)するために、少なくとも2台の仮想マシンが必要です。
ハードウェアおよびソフトウェアのチェックリスト
宛先のVMにトラフィックスニファ(トラフィックアナライザ)または侵入検知システムをインストールする必要があります。こうしたツールの例としては、 Wireshark, Microsoft Network Monitor, Ettercap、および SmartSniff.
設定手順
Hyper-Vホスト上に2台のWindows仮想マシンがあります:
Wind0ws-VM– ソースVM(192.168.101.215)Win-VM-Dest– 宛先のVM(192.168.101.212)
Windows Server 2019 上で Hyper-V ホストが構成されています。サポートされている他の Windows バージョンでの構成も同様です。
仮想スイッチの設定
既存の仮想スイッチを使用することも、新しい仮想スイッチを作成することもできます。Hyper-V ホスト上に仮想スイッチが存在しない場合は、新しい仮想スイッチを作成してください。 仮想スイッチ. 仮想スイッチを作成するには、以下の手順を実行します:
- 開く Hyper-V マネージャー、Hyper-V ホストを右クリックし、[] をクリックします。
Virtual Switch Managerコンテキストメニュー内で。
- 仮想スイッチの種類を選択し、
Create Virtual Switch. この目的のために、私たちはvSwitch0、外部スイッチ(ブリッジ接続されたネットワーク)。[ヒット]OK設定を保存してウィンドウを閉じる。
ソースVMの設定
仮想スイッチの準備が整ったら、トラフィックを監視したいソースVMを設定できます。
- Hyper-V マネージャーで仮想マシンの設定を開くには、仮想マシンの名前を右クリックして、[
Settingsコンテキストメニュー内で。
- VMの設定ウィンドウで、次の場所へ移動します。
Network Adapter > Advanced features. - その
Port Mirroringセクションで、[選択] をクリックしますSourceドロップダウンメニューから”ミラーリングモード”を選択します。この操作により、VMの現在のポートが接続されている仮想スイッチのポートに対して、Hyper-Vポートミラーリングが有効になります。[実行]をクリックします。OK設定を保存するには。
- ソースVMの仮想ネットワークアダプタが接続されている仮想スイッチの名前を覚えておいてください。この方法の利点は、宛先VM上のすべてのVMのトラフィックを分析するために、複数のソースVMを設定できることです。
次のステップは、ネットワークトラフィックがミラーリング(複製)される宛先の仮想マシンを設定することです。
宛先VMの設定
より正確な分析を行うためには、対象のVMに追加のネットワークアダプタを作成し、そのネットワークアダプタに関するすべてのネットワークサービスを無効にすることをお勧めします。この方法により、不要なネットワークサービスやプロトコルを無効にした後のネットワークトラフィックの完全なダンプを取得することができます。
- VMが実行中の場合は、そのVMをシャットダウンしてください。
- 宛先VMの設定を開くには、Hyper-V マネージャーでVM名を右クリックし、[
Settings. - クリック
Add hardwareVM設定ウィンドウの左ペインで、[ ] を選択します。Network adapter, そしてクリックしてAdd.
- 2番目の仮想ネットワークアダプタを接続する仮想スイッチを選択します。これは、1番目(ソース)のVMが接続されている仮想スイッチと同じものでなければなりません。この例では、これは
vSwitch0. ヒットOK設定を保存してウィンドウを閉じるには。
- 宛先のVMの設定をもう一度開いてください。
- ポートミラーリングおよびトラフィック診断用に作成された 2 番目の仮想ネットワークアダプタ(左ペインの VM ハードウェア一覧内)を選択し、[
Network adapter > Advanced features. - その
Port mirroringセクションで、[選択] をクリックしますDestinationミラーリングモードとして、ミラーリングされたネットワークトラフィックを受信します。[Hit]OK.
- 仮想マシンの電源を入れます。
- トラフィックの受信および分析のために作成された宛先VMに接続します(Hyper-V VMConnectまたはRDPを使用)。

- 開く
Network and sharing center宛先の Windows VM で。[クリック]Change adapter settings. - トラフィック分析用に作成された2番目のネットワークアダプタを選択してください(このアダプタの名前を
LAN2-SPAN(利便性を高めるため)。 - ネットワークアダプタを右クリックして、[
Properties.
これで、次のようなネットワークトラフィック分析用のソフトウェアをインストールして設定できるようになります。 WireShark, 宛先のVM上で。
トラフィックアナライザーの導入
- ダウンロード そしてインストールする
Wireshark宛先のVM上で。GUIウィザードでのインストール手順は簡単で、デフォルト設定のまま進めることができます。 - 実行
Wireshark宛先のVM上で。 - ポートミラーリングおよびネットワークトラフィックの分析のために特別に作成されたネットワークアダプタをダブルクリックします(
LAN2-SPAN) のWiresharkウィンドウ。
- これで、送信元VMのネットワークアクティビティを確認できます(送信元VMのIPアドレスは192.168.101.215です)。送信元VMからgoogle.comにpingを送信してみましょう。
- 現時点でgoogle.comホストのIPアドレスである142.251.208.110との間でやり取りされているICMPリクエストと応答を確認できます。

- さらに使いやすくするために、フィルタを有効にすることができます。たとえば、”ICMP”を選択します。

これは基本的な例です。他のプロトコルを使用して、他のネットワーク活動を監視・分析することもできます。
PowerShell
Windows Server オペレーティングシステムでは、PowerShell を使用して Hyper-V のポートミラーリングを設定および管理することもできます。
ソースおよび宛先の仮想マシンでポートミラーリングを有効にするには、それぞれ以下のコマンドを実行してください。
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source
Set-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination
VMのポートミラーリングを無効にするには:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None
VMのポートミラーリング設定を確認するには:
(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode
(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode
以下のコマンドを使用して、ヘルプ情報を表示することができます:
Get-Help Set-VMNetworkAdapter
Get-Help Set-VMNetworkAdapter -full
Get-Help Set-VMNetworkAdapter -detailed
Get-Help Set-VMNetworkAdapter -examples
ポートミラーリングを設定するには、以下のコマンドが役立ちます:
Add-VMNetworkAdapter – 仮想マシン用に新しい仮想ネットワークアダプタを追加する
Get-NetAdapter – 仮想マシンのネットワークアダプタのリストを表示する
Rename-Netadapter – 仮想マシンの仮想ネットワークアダプタの名前を変更する
結論
Hyper-V のポートミラーリングの設定は、Hyper-V マネージャーのグラフィカルユーザーインターフェイスまたは PowerShell を使用して簡単に行うことができます。要件に従い、単一の Hyper-V ホスト上での送信元および宛先 VM の配置場所などの制限事項に注意してください。フェールオーバー クラスター内の Hyper-V ホスト上で、トラフィック分析ツールを搭載した追加の宛先 VM を設定する必要がある場合があります。 Wireshark は、トラフィックを分析するための便利で人気のあるツールですが、必要に応じて他のツールを使用することもできます。