NAPT 仮想スイッチが Build 14295 で仕様が変わりました。
TP5 も Build 14300 なので、TP5 での NAPT 仮想スイッチ作成手順を解説します。
MS サイト情報はこちら
NAT ネットワークの設定 | Microsoft Docs
https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/user-guide/setup-nat-network?WT.mc_id=WD-MVP-36880
NAPT 仮想スイッチは、内部仮想スイッチから親パーティションの物理 NIC に NAPT します。
コマンドは以下の通り
# 内部仮想スイッチを作る New-VMSwitch -SwitchName <仮想スイッチ名> -SwitchType Internal # InterfaceIndex を確認 Get-NetAdapter # 仮想スイッチに Gateway アドレスを付ける New-NetIPAddress -IPAddress <ゲートウェイアドレス> -PrefixLength <CIDR> -InterfaceIndex <インターフェースインデックス> # NAT テーブルを定義する New-NetNat -Name <NATテーブル名> -InternalIPInterfaceAddressPrefix <ネットワークアドレス/CIDR> |
削除する場合は、Remove します
Remove-NetNat -Name <NATテーブル名> Remove-NetIPAddress -IPAddress <ゲートウェイアドレス> -PrefixLength <CIDR> -InterfaceIndex <インターフェースインデックス> Remove-VMSwitch -SwitchName <仮想スイッチ名> |
同一 NAPT レンジで再作成すると不安定になるようなので、一度作ったら削除せずに使い続けるのが良さそうです。
まずは仮想スイッチを作ります
PS C:\> New-VMSwitch -SwitchName "NAPT-vSW" -SwitchType Internal Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ NAPT-vSW Internal |
作成した仮想スイッチの ifIndex を Get-NetAdapter で確認します。
この例では
vEthernet (NAPT-vSW)の 25
が割り当たっています。
PS C:\> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
---- -------------------- ------- ------ ---------- ---------
vEthernet (NAPT-vSW) Hyper-V Virtual Ethernet Adapter 25 Up 00-15-5D-21-4D-0E 10 Gbps
Test Intel(R) Ethernet Server Adapter I...#4 12 Disconnected 00-1B-21-A6-6D-FF 0 bps
DMZ Intel(R) Ethernet Server Adapter I...#2 11 Up 00-1B-21-A6-6D-FE 1 Gbps
LAN Intel(R) Ethernet Server Adapter I34... 9 Up 00-1B-21-A6-6D-FD 1 Gbps
host Intel(R) Ethernet Server Adapter I...#3 4 Up 00-1B-21-A6-6D-FC 1 Gbps
|
仮想スイッチに Gateway アドレスを割り当てます。
PS C:\> New-NetIPAddress -IPAddress 10.0.0.1 -PrefixLength 24 -InterfaceIndex 25 IPAddress : 10.0.0.1 InterfaceIndex : 25 InterfaceAlias : vEthernet (NAPT-vSW) AddressFamily : IPv4 Type : Unicast PrefixLength : 24 PrefixOrigin : Manual SuffixOrigin : Manual AddressState : Tentative ValidLifetime : Infinite ([TimeSpan]::MaxValue) PreferredLifetime : Infinite ([TimeSpan]::MaxValue) SkipAsSource : False PolicyStore : ActiveStore IPAddress : 10.0.0.1 InterfaceIndex : 25 InterfaceAlias : vEthernet (NAPT-vSW) AddressFamily : IPv4 Type : Unicast PrefixLength : 24 PrefixOrigin : Manual SuffixOrigin : Manual AddressState : Invalid ValidLifetime : Infinite ([TimeSpan]::MaxValue) PreferredLifetime : Infinite ([TimeSpan]::MaxValue) SkipAsSource : False PolicyStore : PersistentStore |
NAT テーブルを作成します。
PS C:\> New-NetNat -Name "NAPT 10.0.0.0/24" -InternalIPInterfaceAddressPrefix 10.0.0.0/24 Name : NAPT 10.0.0.0/24 ExternalIPInterfaceAddressPrefix : InternalIPInterfaceAddressPrefix : 10.0.0.0/24 IcmpQueryTimeout : 30 TcpEstablishedConnectionTimeout : 1800 TcpTransientConnectionTimeout : 120 TcpFilteringBehavior : AddressDependentFiltering UdpFilteringBehavior : AddressDependentFiltering UdpIdleSessionTimeout : 120 UdpInboundRefresh : False Store : Local Active : True |
これで NAPT 仮想スイッチが出来たので、VM に割り当て、VM で IP 設定をすれば OK です。
NAPT の後ろにいるホストを外からアクセスするには、ポートフォワードが必要になります。
ポートフォワードは、作成済みの NAT テーブルに実装します。
# ポートフォワード設定 Add-NetNatStaticMapping -NatName <NATテーブル名> -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress <フォワード先 IP> -ExternalPort <受付ポート> -InternalPort <フォワード先ポート> |
ポートフォワード設定
PS C:\> Add-NetNatStaticMapping -NatName "NAPT 10.0.0.0/24" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 10.0.0.100 -ExternalPort 80 -InternalPort 80 StaticMappingID : 0 NatName : NAPT 10.0.0.0/24 Protocol : TCP RemoteExternalIPAddressPrefix : 0.0.0.0/0 ExternalIPAddress : 0.0.0.0 ExternalPort : 80 InternalIPAddress : 10.0.0.100 InternalPort : 80 InternalRoutingDomainId : {00000000-0000-0000-0000-000000000000} Active : True |
親パーティションの IP にアクセスすると、NAPT されている VM へポートフォワードされます。
Hyper-Vネットワークの基本
http://www.vwnet.jp/Windows/WS12R2/Hyper-V/Hyper-V_Network.htm
Windows 10 1709(Fall Creators Update/RS3) Hyper-V の NAPT
仮想スイッチ
http://www.vwnet.jp/Windows/w10/2018010501/w10_1709_NAPT_vSwitch.htm
Copyright © MURA All rights reserved.