我在Hyper-V中为我的Ubuntu虚拟机配置了网络,使其连接到一个内部网络虚拟交换机,该交换机通过Internet Connection Sharing(Network Connections> Ethernet> Properties> Sharing)连接到我的工作以太网互联网连接。这是有关设置的图片:
我在下拉菜单中选择了内部网络的虚拟适配器,并将内部网络分配了一个IP地址为192.168.137.1的网关。我配置了我的Ubuntu虚拟机以使用192.168.137.XXX范围内的静态IP地址。我决定选择一个内部网络作为虚拟交换机,因为我不想修改主机机器的静态IP地址,如果我选择外部网络来共享Internet连接,那么由于某种原因我无法保持相同的IP地址。
问题是,我托管VM用于运行Docker服务,我已经设置好了这种方式,我只需要能够从内部NAT IP 192.168.137.2:3000将端口3000公开到我的主机IP地址192.168.0.2:3000。我输入了以下命令:
New-NetNat -Name UbuntuNAT -InternalIPInterfaceAddressPrefix 192.168.137.0/24
Add-NetNatStaticMapping -NatName UbuntuNAT -Protocol TCP -ExternalIPAddress 0.0.0.0 -ExternalPort 3000 -InternalIPAddress 192.168.137.2 -InternalPort 3000
它起作用了一会儿,然后虚拟机失去了网络连接,现在将不再连接到互联网。也许在192.168.137.0/24上创建NAT会以某种方式搞砸网络连接共享?我不知道是否有其他替代方法可以映射内部NAT。我需要找到一种将内部NAT连接到主机的IP的方法,或者如果这种方法不实用,找到另一种完成整个设置的方法。