我有一台运行Windows Server 2012 R2的服务器,有一个物理网卡和一些Hyper-V虚拟机。 主机有3个外部IP地址。 我在主机上configuration了Hyper-V交换机,在主机上分配了一个静态IP,并将虚拟机连接到这台交换机上。
我希望能够在主机上configurationNAT,以便我可以分配3个外部IP地址中的2个,以将其stream量发送到Hyper-V交换机,并且连接到此交换机的虚拟机接收此stream量。
本Senario中的外部IP是:
注意:分配的实际IP不在同一个子网中。 他们在单独的时间作为单一IP购买。
10.1.1.1是服务器的主要IP地址。 10.1.2.1和10.1.3.1是我购买并分配到与10.1.1.1相同的NIC的附加IP地址。
分配给连接到Hyper-V交换机的网卡的主机上的IP地址为:
在虚拟机上,分配给连接到Hyper-V交换机的网卡的IP地址为:
我熟悉在Linux中运行这样的设置,但在Windows上从来没有这样做过。 我通常会通过设置一个虚拟适配器eth0:1,并为其分配IP地址10.1.2.1来实现这一点。 然后应用下面的iptables规则:
-A FORWARD -i eth0:1 10.1.2.1 -m state --state NEW -j ACCEPT -A PREROUTING --destination 10.1.2.1 -j DNAT --to-destination 192.168.1.1 -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 10.1.2.1
我遵循戴尔的指导,将路由器设置为Windows Server 2012 R2,在此处可find: http : //www.dell.com/support/article/us/en/19/how10169/configuring-windows-服务器-2012-R2作为一种路由器?LANG = EN
设置完成之后,stream向10.1.2.1的stream量确实正在NAT中,发送到192.168.1.1,我的虚拟机可以看到stream量。 大! 问题是来自10.1.3.1的stream量没有被发送到192.168.1.1。
我期待在Windows中可以这样说:“任何进入IP xxxx,使用NAT和发送到yyyy任何来自yyyy,使用SNAT和发送到xxxx”。
我读过使用netshconfiguration路由和pipe理nat的technet文章( https://technet.microsoft.com/en-us/library/cc754535(v=ws.10).aspx ) – 但到目前为止我避难没有find一种方法将一个外部IP添加到池中。
我觉得这应该是一个简单的任务,但我一直没有能够build立起来。 我想向主机添加额外的外部IP地址,并将它们NAT转换到Hyper-V交换机,但是我卡住了!
如何让主机configuration为对选定的外部IP执行NAT?
编辑:Appleoddity的答案提出了一个问题,我忘了带来 – 这台机器是在我没有访问的数据中心,提供商不能添加额外的网卡。 我也不能使Hyper-V开关在外部,因为当我尝试这个主机从networking启动。 打电话给提供商后,我了解到他们不允许这种行为。
我要在这里出去,说你在想这个。 如果您打算将您的物理主机和2个虚拟客户端连接到单个物理接口上可用的3个公有IP中的1个,则不需要NAT。
只需创build一个标准的Hyper-V交换机,即可以通过“外部”访问物理networking适配器。
这将在物理主机上创build一个“外部”接口,并且可以为连接到该“外部”交换机的每个虚拟主机添加一个networking适配器。
现在,将公共IP 1分配给物理主机上的“外部”接口。 将公共IP 2分配给虚拟机#1的接口,将公共IP 3分配给虚拟机#2的接口。
实质上,所有的机器都是桥接的,但是由于他们使用不同的公有IP,他们只会对这些IP进行响应。 以一种不同的方式来描述它,可以将它看作是连接到ISP的三台独立的物理机器调制解调器/路由器 – 每台机器都连接到同一个networking交换机 – 但是每个机器都有一个不同的公共IP分配给它的接口。
当你购买公共IP地址时,他们通常会进入封锁状态。 因为你在上面的例子中使用了“私有”IP,而不是提供真正的公有IP和子网掩码,所以我不能说每个IP都在同一个子网上 – 但通常情况是这样的。 如果是这种情况,那么这是你总是使用你的公有IP块的典型方式,因为它们都在同一个“networking”上。
另外,如果继续沿着NAT的方向发展,那么你也必须开始做端口转发。 如果没有NAT,显然,机器和互联网之间应该有防火墙(基于软件或硬件)。