
Windows 11のHyper-Vでは、デフォルトでNAT接続が可能な仮想スイッチ「Default Switch(既定のスイッチ)」が利用できますが、Default Switchは、DHCPサーバー機能が利用できる便利さがある反面、ホストマシンが再起動するたびにIPアドレス帯が変更されてしまうため、仮想マシンに固定IPアドレスを割り当てたい場合に不便です。
そこでここでは、Windows 11のHyper-VでNAT接続できる仮想スイッチをコマンド操作で作成する方法を解説します。
目次
1.内部仮想スイッチの作成
まず、管理者としてターミナル(PowerShell)を起動し、以下のコマンドレットを実行して内部仮想スイッチを作成します。(SwitchNameは、任意の分かりやすい名前を指定します。)
> New-VMSwitch -SwitchName WinNAT1 -SwitchType Internal2.NATゲートウェイを構成
次に、作成した仮想スイッチにIPアドレスを割り当てます。このIPアドレスが、仮想マシンから見た場合のデフォルトゲートウェイになります。
Get-NetAdapterコマンドレットを実行し、上で作成した仮想スイッチのネットワークインターフェース番号(ifIndex)を確認します。
> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
vEthernet (WinNAT1) Hyper-V Virtual Ethernet Adapter #2 31 Up 00-12-34-56-78-90 10 Gbps
vEthernet (既定のスイ... Hyper-V Virtual Ethernet Adapter 15 Up 12-34-56-78-90-12 10 Gbps
イーサネット Realtek PCIe GBE Family Controller 5 Up 23-45-67-89-01-23 1 Gbpsネットワークインターフェース番号(ifIndex)を確認したら、New‐NetIPAddressコマンドレットで、NATゲートウェイを構成します。下のコマンドは、ゲートウェイのIPアドレスを「172.16.1.1/24」とした場合の実行例です。
> New-NetIPAddress -IPAddress 172.16.1.1 -PrefixLength 24 -InterfaceIndex 313.NATネットワークの作成
次に、以下のコマンドを実行して、NATの対象となるIPアドレスの範囲を指定します。
> New-NetNat -Name WinNAT1 -InternalIPInterfaceAddressPrefix 172.16.1.0/24以上でNATの設定完了です。
「172.16.1.1/24」「172.16.2.1/24」「172.16.3.1/24」というように複数の内部仮想スイッチを作成して、それらを全部含むようなアドレスマスクをNew-NetNatコマンドレットで指定(172.16.0.0/16)すれば、それらを全部まとめてNATの変換対象にするといったこともできます。
あとは、作成した内部仮想スイッチを仮想マシンのネットワークインターフェースとして割り当てるだけです。なお、作成した内部仮想スイッチではDHCP機能はないので、仮想マシンのIPアドレスなどは手動で設定する必要があります。
備考
NATネットワークの状態確認
現在のNATネットワークの設定状況を確認するときは、以下のコマンドレットを実行します。
> Get-NetNat動作状況を確認するときは、以下のコマンドレットを実行します。
> Get-NetNatSessionNATネットワークの削除
NATネットワークの設定を削除したいときは、以下のコマンドレットを実行します。
> Remove-NetNat -Name WinNAT1