Windows 10や11のHyper-Vには、仮想マシンが接続する仮想スイッチとして、デフォルトで「Default Switch」が用意されており、一般的な仮想マシンならこの仮想スイッチを利用すれば事足りますが、Default Switch以外にも、外部・内部・プライベートといった仮想スイッチを自分で作成することもできます。
そこでここでは、Hyper-Vの外部・内部・プライベートそれぞれの仮想スイッチの違いや、これらの仮想スイッチを作成する方法を紹介します。
目次
仮想スイッチの種類
Hyper-Vの仮想スイッチには、デフォルトで用意されている「Default Switch」以外に「外部」「内部」「プライベート」の3種類の仮想スイッチがあり、自分で作成することができます。
それぞれの仮想スイッチの特徴は、下表のとおりです。
通信 | DefaultSwitch | 外部 | 内部 | プライベート |
---|---|---|---|---|
仮想マシン⇔仮想マシン | 〇 | 〇 | 〇 | 〇 |
仮想マシン⇔ホストマシン | 〇 | 〇 | 〇 | × |
仮想マシン⇔LAN | × | 〇 | × | × |
仮想マシン→インターネット | 〇 | 〇 | × | × |
一般的な用途で仮想マシンを作成するときは「Default Switch」を利用すれば、DHCP機能によりIPアドレスも自動で取得でき、インターネットにもアクセスできます。
LAN上でしか利用できない機能を仮想マシンでも利用したいときや、LAN上の他のマシンから仮想マシンにアクセスしたいときなどは「外部仮想スイッチ」が便利でしょう。
なお、内部やプライベート仮想スイッチは、特別な目的がない限り利用することはほとんどないでしょう。
仮想スイッチの作成手順
仮想スイッチを作成する方法には、Hyper-Vマネージャーで作成する方法と、PowerShellコマンドレットで作成する方法があります。
Hyper-Vマネージャーで作成
Hyper-Vマネージャーで仮想スイッチを作成するときは、Hyper-Vマネージャーを起動して画面右のメニュー一覧から「仮想スイッチマネージャー」をクリックします。
外部仮想スイッチ
外部仮想スイッチを作成するときは「仮想スイッチマネージャー」画面で「どの種類の仮想スイッチを作成しますか」から「外部」を選択して「仮想スイッチの作成」をクリックします。
すると「新規スイッチのプロパティ」画面が表示されるので、管理しやすい名前を入力して「OK」をクリックすれば作成できます。
なお、ホストマシンに複数のNICが搭載されている場合は「接続の種類」で、使用するネットワークアダプターを選択します。
また「管理オペレーティングシステムにこのネットワークアダプターの共有を許可する」のチェックを外すと、選択しているネットワークアダプターは仮想マシン専用となり、ホストマシンはそのネットワークアダプター経由した通信はできなくなるのでご注意ください。
内部・プライベート仮想スイッチ
内部仮想スイッチとプライベート仮想スイッチを作成するときは「仮想スイッチマネージャー」画面で「どの種類の仮想スイッチを作成しますか」から、内部またはプライベートを選択して「仮想スイッチの作成」をクリックします。
すると「新規スイッチのプロパティ」画面が表示されるので、管理しやすい名前を入力して「OK」をクリックすれば作成できます。
PowerShellコマンドレットで作成
PowerShellコマンドレットで仮想スイッチを作成するときは、管理者権限でPowerShellを起動して、New-VMSwitchコマンドを利用して作成します。
外部仮想スイッチ
外部仮想スイッチを作成するときは、まず、Get-NetAdapterコマンドを実行して、物理ネットワークアダプターの一覧を取得して、外部仮想スイッチの接続先として利用するネットワークアダプターの名前を確認しておきます。
PS C:\> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
vEthernet (Default Swi... Hyper-V Virtual Ethernet Adapter 39 Up XX-XX-XX-XX-XX-XX 10 Gbps
Bluetooth ネットワーク... Bluetooth Device (Personal Area Netw... 8 Disconnected XX-XX-XX-XX-XX-XX 3 Mbps
イーサネット Realtek PCIe GbE Family Controller 13 Up XX-XX-XX-XX-XX-XX 1 Gbps
つぎに、New-VMSwitchコマンドで外部仮想スイッチを作成し「-NetAdapterName」オプションでは、Get-NetAdapterコマンドで確認した物理ネットワークアダプターの名前を指定します。
たとえば、上の「イーサネット」という名前の物理ネットワークアダプターを指定する場合は、次のようにコマンドを実行します。
PS C:\> New-VMSwitch -Name "External" -NetAdapterName "イーサネット" -AllowManagementOS $True
正常に仮想スイッチが作成されると、以下のように作成されたスイッチの情報が表示されます。
内部仮想スイッチ
内部仮想スイッチを作成するときは、次のようにコマンドを実行します。
PS C:\> New-VMSwitch -Name "Internal" -SwitchType Internal
プライベート仮想スイッチ
プライベート仮想スイッチを作成するときは、次のようにコマンドを実行します。
PS C:\> New-VMSwitch -Name "Private" -SwitchType Private