Hyper-V ネットワークアダプタ:概要、必要性、および設定方法
前回のブログ記事では、 Hyper-V 仮想マシンを作成する (VM)の作成方法について解説しました。しかし、Hyper-V VMの作成は、大規模な仮想環境を構築するための第一歩に過ぎません。その後、Hyper-Vホスト上で実行されているVM同士が相互に通信できるようにする必要があります。そのためには、Hyper-Vネットワークアダプタに関する知識、Hyper-Vネットワークの基盤となる技術、およびHyper-Vネットワークの設定方法について理解しておく必要があります。
Hyper-V ネットワークについて
仮想ネットワークアダプタ(仮想 NIC とも呼ばれる)は、物理ネットワークアダプタの仮想化版と見なすことができます。Hyper-V 環境では、物理サーバーを他のサーバー、仮想マシン(VM)、またはその他のネットワークデバイスと LAN 接続を介して接続するために使用されます。つまり、vNIC はすべてのネットワーク通信を可能にし、管理する役割を果たします。
各VMには1つ以上のvNICがあり、これらが単一のサブネットへの接続を提供します。ただし、複数のサブネットにアクセスできるようにするために、そのNICに追加のIPアドレスを割り当てることも可能です。
コンピュータにHyper-Vロールをインストールし、新しいVMの作成を開始する際には、デフォルトで設定されているネットワーク構成について理解しておく必要があります。
- 以前のWindowsバージョン(Windows 10以前)には、仮想スイッチは存在しませんでした。 しかし、Windows 10でHyper-Vを有効にすると、ホストのネットワークへのアクセスを提供する”デフォルトスイッチ”を使用して、シームレスなネットワーク接続を実現できます。
- Hyper-Vの仮想ネットワークアダプタは、仮想スイッチを介してVM間の通信を可能にします。ただし、新しく作成されたVMには、仮想スイッチが割り当てられていません。 新しいVMにはそれぞれネットワークアダプタが備わっており、単一の仮想スイッチを割り当てることで設定することも、接続しないままにしておくことも可能です。したがって、ネットワーク接続を有効にするには、仮想スイッチを作成し、仮想ネットワークアダプタを設定する必要があります。
ネットワーク接続のレベルが異なる3種類の仮想スイッチがあります:
- 外部仮想スイッチは物理ネットワークアダプタに接続でき、これによりVMが物理ネットワークにアクセスできるようになります。 外部仮想スイッチは、同じ物理コンピュータ上のVM間、VMと物理コンピュータ間の通信を可能にするほか、VMが物理ネットワークにアクセスできるようにします。
- 内部仮想スイッチは、同じHyper-Vサーバー上で実行されているVM間、およびそれらのVMと管理OS間の通信を可能にします。ただし、このタイプのスイッチでは物理ネットワークへのアクセスは提供されません。
- プライベート仮想スイッチは、同じHyper-Vホスト上で実行されるVM間の接続のみを保証します。このタイプのネットワークは、隔離されたネットワーク接続モードを提供します。
もう1つ言及すべき点は、VLANタグ付けです。これは、ネットワーク上で送信される各パケットに特定のタグ(VLAN ID)を割り当てる手法です。VLANタグ付けにより、どの情報パケットが特定のVLANに属するかを識別するプロセスが簡素化されます。 その結果、この方法はネットワークトラフィックを分離し、通信が滞ることなく行われることを保証します。
Hyper-V の仮想ネットワークアダプタには2種類あります:
- レガシーネットワークアダプタは、物理ネットワークアダプタをエミュレートし、第一世代の仮想マシン (VM) でのみ機能します。この種類のアダプタは、Hyper-V 統合サービスや Linux 統合サービスをサポートしない無視されたゲストVM用に使用されます。1つのVMに最大で4つのレガシーvNicを展開することができます。さらに、Hyper-V に非サポートのゲストOS間の通信を有効にするために、レガシーネットワークアダプタが使われています。レガシーvNicは、ゲストOSのネットワークベースのインストールを実行できます。
- 合成ネットワークアダプタは、Hyper-V 統合サービスや Linux 統合サービスのサポートを提供する悟られたゲストVMに使用されます。1つのVMに最大で8つの合成vNICを展開することができます。一般的に、レガシーvNICよりもパフォーマンスが優れています。この場合、ネットワーク接続は、別々のパーティション間の通信を提供し制御する VMBus によって有効になります。さらに、この種類のネットワークアダプタで、VLAN タグ付けを使用することができます。
Hyper-V マネージャで仮想ネットワークアダプタを設定する方法
Hyper-Vネットワークアダプタを有効化および構成する方法には二つあります: グラフィカルユーザーインターフェース(GUI)を使用して Hyper-V 管理者で行うか、PowerShellを使ったスクリプトを実行します。両方の方法について詳しく説明します。まず最初の方法から始めます:
- Hyper-V マネージャを開きます。
- Hyper-V ネットワークアダプタを追加したい仮想マシン (VM) を見つけ、そのVM名を右クリックします。 設定 を選択します。
- 新しいメニューが開き、VM 設定についての情報が表示されます。ハードウェアセクションで ハードウェア追加 を選択し、VM に追加可能なデバイスのリストを確認します。この場合、探しているオプションは二つあります: ネットワークアダプタ と レガシーネットワークアダプタ (これは第一世代のVMにのみ利用可能です)。必要なネットワークアダプタを選択し、 追加 をクリックします。。

- あなたはネットワーク アダプターのセクションにリダイレクトされ、そこで新しい Hyper-V ネットワーク アダプターを構成するには、接続する仮想スイッチを選択し、VLAN 識別を有効にして VLAN ID を指定し、帯域幅の使用量の最大値と最小値を指定することができます。また、 削除 をクリックすることによっても Hyper-V ネットワーク アダプターを削除することが可能です。

- 配置 をクリックして変更を保存 します。
さらに、Hyper-V マネージャーでは、ハードウェア アクセラレーションの設定を変更し、より高度な機能を有効にすることができます。
- ハードウェアセクションの ネットワークアダプター をダブルクリックします。次に、 ハードウェア アクセラレーション を選択します。この設定では、仮想マシン キュー (VMQ) や IPsec タスクオフロードを有効にすることができ、また、オフロードされた SA (セキュリティ関連) の最大数を指定します。Hyper-V 仮想マシン キューは、VM 共有メモリーへの直接ネットワーク データ転送を保証するハードウェア仮想化技術です。IPsec はネットワーク データ交換を暗号化するためのセキュリティ プロトコルです。IPsec タスクオフロードを有効にすると、ネットワーク アダプターに IPsec 関連のタスクをオフロードすることで、ハードウェア リソースの過剰使用を防ぐことができます。

- 配置 をクリックして変更を保存 します。
- 高度な機能 を選択します。これには、MAC アドレス、DHCP ガード、ルーターガード、保護ネットワーク、ポートミラーリング、および NIC チーミングが含まれます。それぞれの機能に、使用方法の簡単な説明が付いています。それらを読んで、どの機能を有効にするかを決定します。

- 必要なチェック ボックスを選択し、配置 をクリックして変更を保存 します。
次に、仮想ネットワーク アダプター上の高度な機能をセットアップするために
PowerShell を使用した Hyper-V ネットワーク アダプターの管理
ご覧の通り、Hyper-V マネージャーの構成オプションはかなり制限されています。さらに、GUI を使用することによって、管理 OS ではなく、ゲスト VM 用の Hyper-V ネットワーク アダプターをセットアップすることのみが可能です。この理由から、PowerShell を使用してより高度な機能性と複数の構成オプションを提供することが可能です。PowerShell を使用して Hyper-V ネットワーク アダプターをどのように管理するかを見てみましょう。
Hyper-V ネットワーク アダプターの作成
PowerShell コマンドレットが機能するためには、管理者モードで PowerShell を実行する必要があることにご注意ください。これを行うには、検索バーに PowerShell と入力し、PowerShell アイコンを右クリックして、管理者として実行を選択します。 Add-VMNetworkAdapter コマンドレットを挿入して、Hyper-V VMに新しい仮想ネットワークアダプターを追加してください。以下はこのコマンドレットの使用例です:
Add-VMNetworkAdapter -VMName DemoVM -SwitchName DemoVSwitch –Name ‘Demo Network Adapter’
次の例は、管理OSに2番目の仮想ネットワークアダプターを追加する方法を示しています:
Add-VMNetworkAdapter -ManagementOS -Name ‘Second Network Adapter’
Hyper-V ネットワークアダプターの接続/切断
Connect-VMNetworkAdapter コマンドレットは仮想ネットワークアダプターをお好みの仮想スイッチに接続することができます。以下の例では、2つのVM(DemoVMおよびNew Virtual Machine)に1つの仮想スイッチ(既定のスイッチ)を追加する方法を示しています。どちらのVMも実行状態になっていないことを確認してください。
Connect-VMNetworkAdapter -VMName DemoVM, ‘New Virtual Machine’ -SwitchName ‘Default Switch’
仮想スイッチやイーサネットリソースプールからHyper-Vのネットワークアダプターを切断するには、Disconnect-VMNetworkAdapter コマンドレットを使用できます。次のスクリプトでは、単一のVM DemoVM からすべてのネットワークアダプターを切断することが可能です:
Disconnect-VMNetworkAdapter -VMName DemoVM
このPowerShellスクリプトを使用して、Hyper-V環境内のすべてのVMで仮想スイッチ 既定のスイッチ に接続されているすべての仮想ネットワークアダプターを切断できます。
Get-VMNetworkAdapter -VMName *| Where-Object {$_.SwitchName -eq 'Default Switch'} | Disconnect-VMNetworkAdapter
PowerShellを使えば、設定をさらに正確にすることができます。特定の仮想スイッチ(既定のスイッチ)に接続され、特定のVM(DemoVM)で動作しているすべてのネットワークアダプターを切断したい場合は、以下のコマンドレットを使用してください:
Get-VMNetworkAdapter -VMName DemoVM | Where-Object {$_.SwitchName -eq 'Default Switch'} | Disconnect-VMNetworkAdapter
Hyper-Vネットワークアダプターを取得する
これらのPowerShellスクリプトは、特定のVM、管理OS、あるいは仮想環境内で動作しているすべてのVMおよび管理OSに存在する仮想ネットワークアダプターの情報にアクセスするために使用できます。すべてのコマンドレットが以下に示されています:
- 単一のVMの場合:
Get-VMNetworkAdapter –VMName DemoVM
- 管理OSの場合:
Get-VMNetworkAdapter -ManagementOS
- Hyper-V環境内のすべてのVMおよび管理OSの場合:
Get-VMNetworkAdapter -All
最終スクリプトが正しく実装されている場合は、Hyper-Vネットワークアダプターの情報を含む以下の画面が表示されます:

Hyper-Vネットワークアダプターを削除する
このコマンドレットはVMや管理OSから1つ以上の仮想ネットワークアダプターを削除するために使用されます。
次の例では、VM DemoVM からネットワークアダプター NewNetworkAdapter を削除する方法を示しています:
Remove-VMNetworkAdapter -VMName DemoVM -VMNetworkAdapterName NewNetworkAdapter
以下の例は管理OSからネットワークアダプターSecondaryを削除する方法を示しています。 Remove-VMNetworkAdapter -ManagementOs -Name Secondary
Hyper-V ネットワークアダプターの名前変更
また、特定の仮想マシン(VM)の Hyper-V ネットワークアダプターや、管理 OS 上のネットワークアダプターの名前を変更することもできます:
Rename-VMNetworkAdapter -VMName DemoVM -NewName ‘Network Adapter 2019’
Hyper-V マネージャーで、 DemoVM という名前の仮想マシンのすべてのネットワークアダプターが正常に名前変更されたことを確認できます。

特定のVM(DemoVM)のネットワークアダプター(Network Adapter 2019)に新しい名前を付けるには、次のスクリプトを実行します:
Rename-VMNetworkAdapter -VMName DemoVM -Name ‘Network Adapter 2019’ -NewName ‘Hyper-V network adapter’
次のコマンドレットを使用すると、管理OSのネットワークアダプターの名前を変更できます。
Rename-VMNetworkAdapter -ManagementOs -Name Adapter -NewName ‘Communications Channel’
Hyper-V ネットワークアダプターの設定
このセクションでは、Hyper-V VMまたは管理OSにおけるHyper-Vネットワークアダプターの機能を構成するために使用できるさまざまなコマンドレットを一覧表示します。 すべての構成オプションを徹底的に調査するには、かなりの時間がかかります。そのため、ここでは PowerShell を通じて有効にできる機能のうち、いくつかの機能についてのみ説明します。
たとえば、以下のスクリプトを実行することで、DHCP Guard を有効にできます。DHCP Guard は、ゲスト OS 側からの不正アクセスからシステムを保護するために使用されます。
Set-VMNetworkAdapter -VMName DemoVM -DhcpGuard On
さらに、ポートミラーリングを有効にすることもできます。これにより、ある仮想ネットワークアダプターのネットワークパケットをコピーして、別の仮想ネットワークアダプターに送信することが可能になります。 ミラーリングモードには、”ソース”と”宛先”の2種類があります。”ソース”モードを選択すると、その特定のネットワークアダプタのネットワークトラフィックがコピーされ、監視用VMに送信されることになります。そのVMのネットワークアダプタには、”宛先”ミラーリングモードが割り当てられます。この機能が動作するためには、各ソースネットワークアダプタに宛先ネットワークアダプタが割り当てられている必要がある点に注意してください。
ソースモードでポートミラーリングを有効にするには、次のスクリプトを実行します。
Set-VMNetworkAdapter -VMName DemoVM –Name ‘Hyper-V network adapter’-PortMirroring Source
このコマンドレットは、DemoVM という名前の VM でポートミラーリング機能を有効にし、その仮想ネットワークアダプターにソースの役割を割り当てます。
次の例では、Monitoring という名前の仮想ネットワークアダプターが、ポートミラーリングの宛先として構成されています。その結果、DemoVM(“ソース”)という名前の VM が、”New Virtual Machine”(宛先)という名前の VM のすべてのネットワークトラフィックを監視することになります。
Set-VMNetworkAdapter -VMName ‘New Virtual Machine’-Name Monitoring -PortMirroring Destination
次のコマンドレットを使用すると、VLAN 識別を有効にするだけでなく、特定の VLAN ID を割り当てることもできます。
Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-V network adapter’ -Access -VlanId 20
この場合、特定の VM(DemoVM)に接続されている特定の Hyper-V ネットワークアダプタ(Hyper-V ネットワークアダプタ)で VLAN タグ付けが有効になります。
あるいは、VLAN タグ付けを無効にしたい場合は、次のコマンドレットを入力します。 Set-VMNetworkAdapterVlan -VMName DemoVM -VMNetworkAdapterName ‘Hyper-V network adapter’ -Untagged
PowerShell コマンドレットの主な利点は、任意の方法で配置して包括的なスクリプトを作成できることです。これにより、Hyper-V 環境の管理と構成のプロセスをかなり最適化できます。
NAKIVO Backup & Replication を使用した Hyper-V 環境の保護方法
NAKIVO Backup & Replication は信頼性が高く費用対効果の高いソリューションで、仮想環境を 24/7 で保護し、最も機密性の高いデータや重要なアプリケーションを災害時にも迅速に復旧できるようにします。NAKIVO Backup & Replication には迅速かつ効率的なバックアップ、レプリケーション、およびシステムの復旧を可能にする包括的なツールセットが含まれています。
このソリューションを使用すると、特にインフラストラクチャ内のネットワーク操作を最適化することにより、バックアップおよびレプリケーションジョブのパフォーマンスを大幅に向上させることができます。これを目的に、NAKIVO Backup & Replication は以下の機能を提供します:
- ネットワーク高速化 WAN 上で転送されるデータ量を大幅に削減できるよう、トラフィック削減およびデータ圧縮ツールを適用します。この成果は、両方のサイト(ソースとターゲット)にインストールされた 2 つのトランスポーターの使用により達成されます。ソースサイトのトランスポーターは VM データをネットワークに送信する前に圧縮し、ターゲットサイトのトランスポーターは受信データを解凍します。その結果 、VM バックアップとレプリケーションジョブの速度を大幅に増加し、ネットワーク負荷を軽減することができます。
- 高度な帯域幅制御 特定のデータ保護ジョブが使用できる帯域幅を定義するためにデータ転送速度制限を設定できます。この目的のために、バックアップ操作中の帯域幅消費をコントロールするグローバルまたはジョブ別のルールを作成する必要があります。これらのルールは、さまざまなデータ保護ジョブおよび異なるスケジュールに適用できます。この機能を使用することで、業務時間中でもネットワークが過負荷にならないようにすることができます。
- ネットワークのマッピングとRe-IP は、ソースサイトとターゲットサイトが異なるネットワークに接続されており、異なる IP アドレスを持つレプリケーション、フェイルオーバー、およびサイトリカバリージョブに使用されます。災害時の復旧における問題を避けるため、ネットワークマッピングと Re-IP ルールを作成する必要があります。これらのルールにより、DR イベント中にソース仮想ネットワークが適切なターゲット仮想ネットワークにマッピングされ、ソース IP アドレスがターゲット IP アドレスにマッピングされることを保証できます。 これらの機能により、ネットワーク設定のプロセスを効率的に最適化および自動化することができます。