我在具有双 NIC 的物理 Windows 2019 服务器上运行 Hyper-V。NIC #1 连接到我的办公室网络,而后者又连接到互联网。NIC #2 连接到单独的物理桌面交换机,该交换机上连接着其他物理 PC。
在 Hyper-V 服务器上,我运行单个 VM,它将充当测试网络的 DHCP、DNS 和 Web 服务器。我们在 IIS 上运行多个测试站点,并使用 DNS 将测试 PC 定向到本地站点而不是实时站点。VM 通过主机的 NIC #2 连接到物理交换机。
我的主机可以正常访问互联网,但我想进行设置,以便 VM 服务器和连接到测试网络的 PC 可以使用 NAT 通过主机上的 NIC #1 访问互联网。
我之所以要这样做,是因为当我们进行离线测试时,我只需拔掉 NIC #1,一切都会继续运行,但不会与外界建立连接。当我想更新测试 PC 时,我只需插入 NIC #1,所有 PC 和 VM 都可以连接到互联网。
我尝试过https://petri.com/using-nat-virtual-switch-hyper-v/但我似乎无法让虚拟机或测试电脑访问互联网?我想我所遵循的文章可能不适合我的设置,因为我有 2 个独立的网卡?
答案1
这是我的用例,它与您的几乎完全相同。
事实
两个物理网卡连接到 Hyper-V 主机。
NIC1
:子网10.0.0.0/24
,这是支持 Internet 的网络
NIC2
:子网192.168.100.0/24
,无互联网访问
NIC2
目标:通过将流量转换到NIC1
子网来实现子网的 Internet 访问
解决方案
创建一个名为 的外部 Hyper-V 交换机
vEthernet (external)
,并将其连接到NIC2
。我使用了 Hyper-V 管理器。为新创建的交换机/接口创建一个新的 IP 地址。它将作为
NIC2
子网的默认网关。PS > New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceAlias `vEthernet (external)`
创建 NAT 网络*
PS > New-NetNAT -Name `NATNetwork` -InternalIPInterfaceAddressPrefix 192.168.100.0/24
192.168.100.0/24
将子网中的端点分配192.168.100.1
为网关,添加您选择的 DNS 服务器并享受 Internet 连接。
*) 有趣的是,我不需要指定ExternalIPInterfaceAddressPrefix
,我假设它隐式使用了主机的默认网关。