创建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:windirSystem32WbemRepository $env:windirSystem32WbemRepository_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"