HyperV创建NAT网络

创建NAT内部网络,使用PowerShell完成。
https://docs.microsoft.com/zh-cn/virtualization/hyper-v-on-windows/user-guide/setup-nat-network

1.创建Internal网卡,名称为SwitchNAT
PS> New-VMSwitch -SwitchName "SwitchNAT" -SwitchType Internal

Name      SwitchType NetAdapterInterfaceDescription
----      ---------- ------------------------------
SwitchNAT Internal

2.获得SwitchNAT的ifIndex,此例子是45
PS> Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
vEthernet (SwitchNAT)     Hyper-V Virtual Ethernet Adapter             45 Up           00-15-5D-CF-BD-05        10 Gbps
Bluetooth Network Conn... Bluetooth Device (Personal Area Netw...       4 Disconnected xx-xx-xx-xx-xx-xx         3 Mbps
Ethernet                  Intel(R) Ethernet Connection I219-LM         14 Disconnected xx-xx-xx-xx-xx-xx          0 bps
Wi-Fi                     Intel(R) Dual Band Wireless-AC 8260          12 Up           xx-xx-xx-xx-xx-xx     115.6 Mbps

3.创建一个NAT网络配置,名称为MyNAT4HyperV
PS> New-NetNat -Name MyNAT4HyperV -InternalIPInterfaceAddressPrefix 192.168.0.0/24

Name                             : MyNAT4HyperV
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 192.168.0.0/24
IcmpQueryTimeout                 : 30
TcpEstablishedConnectionTimeout  : 1800
TcpTransientConnectionTimeout    : 120
TcpFilteringBehavior             : AddressDependentFiltering
UdpFilteringBehavior             : AddressDependentFiltering
UdpIdleSessionTimeout            : 120
UdpInboundRefresh                : False
Store                            : Local
Active                           : True

/---------------------------------------------------------------------------------------\
如果产生里一个错误 87,说明Windows Server 2016不支持-InternalIPInterfaceAddressPrefix参数
先查看已有的NetNat配置:
PS> Get-NetNat

Name                             : Hf8c04975-98c5-4ee0-8cbf-6b4b629418c5
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 172.26.112.0/20
IcmpQueryTimeout                 : 30
TcpEstablishedConnectionTimeout  : 1800
TcpTransientConnectionTimeout    : 120
TcpFilteringBehavior             : AddressDependentFiltering
UdpFilteringBehavior             : AddressDependentFiltering
UdpIdleSessionTimeout            : 120
UdpInboundRefresh                : False
Store                            : Local
Active                           : True

已经存在NetNat,后面的操作用InternalIPInterfaceAddressPrefix的IP前缀进行。

子网掩码:20位划分子网(8位.8位.4位.0 = 255.255.240.0)
ip可用172.26.112.0到172.26.127.0,下面用172.26.127.0段进行设置

其他错误,尝试下面方法:
PS> net stop winmgmt
PS> move $env:windir\System32\Wbem\Repository $env:windir\System32\Wbem\Repository_bad
PS> net start winmgmt
PS> net start vmcompute        // 启动Hyper-V服务
\---------------------------------------------------------------------------------------/



4.创建NAT网关
PS> New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 45
或者
PS> New-NetIPAddress -IPAddress 172.26.127.1 -PrefixLength 20 -InterfaceIndex 45

IPAddress         : 192.168.0.1
InterfaceIndex    : 45
InterfaceAlias    : vEthernet (SwitchNAT)
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         : 192.168.0.1
InterfaceIndex    : 45
InterfaceAlias    : vEthernet (SwitchNAT)
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Invalid
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : PersistentStore


5.在HyperV的虚拟机网卡配置中选择SwitchNAT
6.启动虚拟机,手动配置
IP为192.168.0.x,
子网掩码255.255.255.0,
网关192.168.0.1,
DNS为8.8.8.8,8.8.4.4

或者
IP为172.26.127.x,
子网掩码255.255.240.0,
网关172.26.127.1,
DNS为8.8.8.8,8.8.4.4

-----
删除命令
先停止使用网卡(关闭虚拟机或服务)
PS> Get-NetNat "MyNAT4HyperV"| Remove-NetNat
PS> Remove-NetIPAddress -InterfaceAlias "vEthernet (SwitchNAT)" -IPAddress 192.168.0.1
PS> Remove-NetIPAddress -InterfaceAlias "vEthernet (SwitchNAT)" -IPAddress 172.26.127.1
PS> Remove-VMSwitch -SwitchName "SwitchNAT"

 

posted @ 2018-03-27 11:47  Bob-wei  阅读(1429)  评论(0编辑  收藏  举报