トラブルシューティングは、ネットワークを操作するシステム管理者の一般的なタスクです。プロフェッショナルなネットワークEquipmentは、ポートミラーングなどの監視とトラブルシューティング機能を持っています。ポートミラーングは、マイクロソフトのHyper-Vホスト上の仮想ネットワークやVM間のネットワーク通信を含む仮想環境のネットワークトラフィック分析にも便利です。このブログ投稿は、マイクロソフトのHyper-Vポートミラーングを設定する方法を説明し、仮想環境でのネットワーク通信を分析するかまでを説明します。
ポートミラーングの主要な概念
ポートミラーングの設定方法を説明する前に、基本的な概念、工作机制、既存のHyper-V設定機能について説明しましょう。
ポートミラーングとは何か?
ポートミラーングは、源ホストのネットワークポートのネットワークトラフィックを、2番目のホストのネットワークポート(アダプタ)に Duplicate し、このトラフィックの詳細分析を行う機能です。ホストは、物理的なマシン、仮想マシン、ネットワークインターフェースを持つネットワークequipmentなどです。源ホストは、この上下文でネットワークトラフィックを監視するホストです。源ポートは、ミラードポートとも呼ばれ、目的地ポートは、観察されるポートとも呼ばれます。ポートミラーングは、またはSwitched Port Analyzer (SPAN)とも呼ばれます。
タイプと利点
ポートミラーングは、ポート間の接続モードによってローカルとリモートの両方に分割できます。ローカルのポートミラーングの場合、源と目的地のネットワークポートは同じスイッチに接続されます。リモートのポートミラーングは、源と目的地のポートが異なるスイッチに接続されている場合に使用されます。リモートポートミラーングには、VLANタグ付けとGREエンカプサルションが使用でき、ネットワークトラフィックを監視ポートやデバイスに転送するために使用されます。
ポートミラーングの利点は、動作中のネットワークデバイスの処理を影響を与えずに、ネットワークコミュニケーションの分析とデバッグを行うことです。管理者は、トラフィックを分析して、可能な攻撃をネットワーク上に认识し、攻撃の源を特定し、ネットワークの安全性を向上させることができます。ポートミラーングを使用する場合、動作中のマシンのゲストオペレーティングシステムに直接ネットワークトラフィックを捕捉する必要はないため、ゲスト操作システムでの作業が可能です(例えばプロダクションVMになります)。
注意すべきことは、ミラーングトラフィックには追加のネットワーク带宽を消費することになり、ネットワーク分析を行う必要がある場合にだけこの機能を有効にする必要があることです。
ポートミラーングとポートフォワードの比較
ポートミラーングとポートフォワードは、TCPパケットやUDPデータグラムなどのネットワークトラフィックがポートミラーングではリダイレクトされないことに区别されます。トラフィックはミラーング(複製)されるだけであり、元のトラフィックの方向において源と目的地は変更されません。元のトラフィックのコピーが分析のために目的地地を送信されます。
ポートフォワード링では、トラフィック(TCPパケットやUDPデータグラムなど)の目的地を変更することができ、特定のパケット(または他のプロトコルデータユニット)がIPネットワーク内の別のIPアドレスとポートに届けられる。ポートフォワードは、ネットワークアドレス変換(NAT)と一緒に使用されて、网络上の网罗的な通信において、元のトラフィックのコピーを作成することはない。
Hyper-Vのポートミラーリング
Hyper-Vでは、仮想スイッチを通じて接続された仮想マシンによる仮想ネットワークのトラフィックを分析するために、ポートミラーリング機能を使用できます。目的の仮想マシンを定義し、Wiresharkなどのトラフィック捕獲ソフトウェアをインストールしてトラフィック分析を行う必要があります。この目的のために、利用可能な他のインtrusion Detection System(IDS)も使用できます。
Hyper-Vのポートミラーリング機能は、ハードウェアのポートミラーリングと似ていますが、Hyper-Vの仮想スイッチレベルで実装されています。Hyper-Vの仮想スイッチでは、スイッチエクステンション機能とポートACL(アクセスリスト)を使用して、フォワードングとトラフィック嗅探の規則を設定します。
ポートミラーリングは、Hyper-Vホストの境界内に限り有効です。仮想マシンが異なるHyper-Vホストに位置している場合(たとえば、フェイルオーバークラスターにおいて、1つのホストからもう1つのホストにVMを移動後)、Hyper-Vのポートミラーリングは使用できません。この場合、元のVMが移籍された2番目のHyper-Vホストに网络分析のための追加の目的VMを設定する必要があります。
ポートミラーリング設定の準備
Hyper-Vのポートミラーリング設定の前提条件について熟悉するべきです。
前提条件と設定条件
次は、Hyper-V環境でポートミラーリングを設定するための要件です。
- Windows Server 2012 R2(または新しい)にHyper-Vと管理者アクセスが必要です。Windows 10またはそれ以上のクライアントOSを使用することができます。
- Hyper-Vホスト上に虚拟的なスイッチが必要です。
- ソースVMからデータをミラーリング(複製)し、目的地VMに送信する必要がある少なくとも2つの仮想マシンが必要です。
ハードウェアとソフトウェアのチェックリスト
デスティナションVMにトラフィックスニファー(トラフィック分析器)またはインタラクション検出システムをインストールする必要があります。これらのツールの例は、Wireshark、Microsoft Network Monitor、Ettercap、SmartSniffです。
設定手順
Hyper-Vホスト上に2つのWindows VMがあります:
- 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 Manager を開き、Hyper-V ホストを右クリックし、コンテキストメニューから Virtual Switch Manager をクリックします。
をクリックします。
- 仮想スイッチタイプを選択し、Create Virtual Switchを押します。この目的のために、外部スイッチ(ブリッジネットワーク)のvSwitch0を使います。OKを押して設定を保存し、ウィンドウを閉じます。
をクリックしてください。
ソースVMの設定
仮想スイッチが準備できたら、トラフィックを監視したいソースVMを設定することができます。
- Hyper-V ManagerでソースVMの設定を開くには、VM名を右クリックし、コンテキストメニューでSettingsをクリックします。
をクリックします。
- VM設定ウィンドウで、Network Adapter >詳細機能に移動します。
- Port Mirroring セクションのドロップダウンメニューで、ミラーリングモードとして Source を選択します。この操作により、VM の現在のポートが接続されている接続仮想スイッチのポートに対して Hyper-V ポートミラーリングが有効になります。OKを押して設定を保存します。
をクリックします。
- ソースVMの仮想ネットワークアダプタが接続されている仮想スイッチ名を覚えておいてください。
次の段階は、ネットワーク・トラフィックがミラーリング(複製)される宛先仮想マシンを設定することです。
宛先VMを設定する
推奨されるプラクティスは、宛先VM上に追加のネットワーク・アダプタを作成し、より正確な分析のために、このネットワーク・アダプタのすべてのネットワーク・サービスを無効にすることです。
- VMが実行中であれば、デスティネーションVMをシャットダウンします。
- デスティネーションVMのVM設定を開くには、Hyper-VマネージャーでVM名を右クリックし、設定をクリックします。
- VM設定ウィンドウの左侧面に硬件を追加をクリックし、ネットワークアダプタを選択し、追加を押す。
- 第2の仮想ネットワークアダプターを接続する仮想スイッチを選択します。これは第1の(源)VMが接続されている同一の仮想スイッチでなければなりません。私たちの場合、これはvSwitch0です。設定を保存し、ウィンドウを閉じるにはOKを押します。
- 再び、目的地VMのVM設定を開きます。
- port mirroringとトラフィック診断のために作成された第2の仮想ネットワークアダプターを選択して(左侧面のVMハードウェアリストに)、Network adapter> Advanced featuresに移行してください。
- Port mirroringセクションで、マイレリングされたネットワークトラフィックを受信するためのマイリングモードDestinationを選択し、OKを押します。
- VMを電源を入れます。
- 目的地のVMに接続してトラフィックを受信と分析するためのHyper-V VMConnectまたはRDPを使用してください。
- 目的地のWindows VMでネットワークと共有センターを開いてください。アダプターの設定を変更をクリックしてください。
- トラフィック分析用に作成した2番目のネットワークアダプターを選択してください(このアダプターをLAN2-SPANに名前変更することで便利にすることができます)。
- ネットワークアダプターを右クリックし、プロパティを押してください。
今や、トラフィック分析用のソフトウェアを、WireSharkなどを含むように、目的地VMにインストールして設定することができます。
トラフィック分析ツールのインストール
- Wiresharkをダウンロードし、目的地VMにインストールしてください。GUIのウィザードを使用してインストールプロセスは簡単で、デフォルトの設定を使用できます。
- Wiresharkを目的地VMで実行してください。
- Wiresharkのウィンドウで、ポートミラー링とネットワークトラフィック分析に特化して作成されたネットワークアダプタ(LAN2-SPAN)をダブルクリックします。
- 今度は、源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ポートミラーリングを設定・管理することもできます。
源VMおよび目標VMでポートミラーリングを有効にするには、以下のコマンドをそれぞれ実行します。
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
– VMに新しい仮想ネットワークアダプターを追加
Get-NetAdapter
– VMのネットワークアダプターの一覧を表示
Rename-Netadapter
– VMの仮想ネットワークアダプターの名前を変更
結論
Hyper-Vポート・ミラーリングの設定は、Hyper-V Managerのグラフィカル・ユーザー・インターフェイスまたはPowerShellで簡単に行うことができる。要件に従い、単一の Hyper-V ホスト上のデスティネーション VM のソースの場所などの制限を覚えておいてください。フェイルオーバークラスター内のHyper-Vホスト上でトラフィック解析ツールを使用して追加のデスティネーションVMを構成する必要がある場合があります。Wiresharkはトラフィックを解析するための便利で一般的なツールですが、必要に応じて他のツールを使用することもできます。