情况:两个ISP,需要提供故障切换冗余。
当谈到Windows服务器时,看起来普遍的看法是“不要多家”。 而且每当有人问如何正确地做,就会让人问“你为什么需要”? 其他build议是“使用负载平衡路由器”。
不幸的是,我试过使用负载平衡路由器(消费者级别,我买不起高端的思科),他们只是不能工作可靠,他们并不真正提供源路由(或任何一种真正的政策基于路由)允许特定的stream量使用特定的互联网连接。
在我的情况下,最好的整体解决scheme是通过单独的NIC将两个Internet连接都连接到我的服务器。 问题是Windows似乎没有办法做所谓的“拆分访问”路由。 拆分访问允许多个接口拥有自己的默认网关,这样当数据包从互联网进入时,响应数据包可以通过同一个网关(而不是系统默认网关)路由回去。
有关拆分访问的更多信息,请阅读以下内容:
http://lartc.org/howto/lartc.rpdb.multiple-links.html
这个解决scheme适用于Linux,使用iproute2,我可以设置拆分访问和事情工作很好。 但在Windows中,它始终试图通过系统默认网关而不是第二个networking连接的网关来响应来自局域网外部的数据包。 你不能简单地添加第二个默认网关,因为这会导致各种奇怪的结果。
有什么办法可以在Windows中使用iproute2在Linux中进行类似的分割访问吗?
这里的想法是,我有两个网卡的服务器。 我将我的Web服务器绑定到两个具有不同IP地址的NIC,然后使用故障转移DNS系统监视我的networking连接,并在第一个ISPclosures的情况下切换到第二个ISP的辅助IP。 不是最好的解决scheme,但我可以把它比其他解决schemeless得多。
对于DNS故障转移,我正在考虑这样的解决scheme:
http://www.dnsmadeeasy.com/s0306/prod/dnsfosm.html
请不要讲我不需要多家,因为我负担不起设备做负载平衡,消费级设备不能可靠地满足我的需求。
我会build议设置一个基于Linux的路由器来执行双归属。 然后configuration基于源的路由来实现iproute2的等价物。 在我看来,分离访问路由是基于源的路由的一种特殊forms。
备用build议:将服务器移至Linux平台,如果路由解决scheme满足您的所有需求,则使用iproute2。
备用build议:虚拟化Windows服务器,在Linux服务器上运行,并让运行iproute2的linuxe服务器进行路由。
这听起来像是您将接受有限的非连接时间段,所以您不必过多担心困扰VRRP或群集体系结构的第3层路由问题。 但是需要注意的一点是,许多应用程序和中间数据包检查点都需要给定连接的一致路由,即“持久连接”。 一段时间以来,维护持续的连接路由一直是networking和安全架构方面的一个难题。
如果你买不起商品,你有没有调查过:
如果我正确理解了您的要求,Draytek 2910路由器就可以完全按照您的要求进行操作,除非您的时间空闲,否则将比您自己的要便宜很多。
我们在所有地方都使用Draytek 2910,通常一个WAN端口连接到ADSL(NoNAT)路由器,另一个连接到专线或类似的连接。 路由器将检测WAN端口上的链路故障,使用ping指定的地址进行ping,并在大约十秒内禁用故障端口。 从内部stream量stream出,通过哪个WAN端口负载较less。 您还可以指定负载平衡规则,以根据源和/或目标IP地址和/或端口指定通过特定WAN端口的出站stream量。
从外部,您可以在每个WAN端口上分别使用端口映射规则,例如,如果将映射80映射到两个WAN端口上的内部服务器,路由器将接受任一WAN端口上的连接并将其指向服务器。
JR
尝试PfSense防火墙/路由器。 我在类似的情况下使用它。
Vyatta也可能是一个select。 我有一段时间没有使用它,并已阅读他们的最新更容易成立。
不知道这是否会为你工作,因为我没有你的问题,但这可能是一个选项。
Linksys的RV042路由器可能会为你做诡计(顺便说一句,现在是思科小型企业),上次路由器的价格是200美元左右。
它具有双WAN口,所以你可以有2个独立的ISP,每个WAN都有自己的IP。 我已经做了,它运作良好。
这是我没有做的,因为我不需要,但你可以试试这个。
像这样安装端口转发WAN1将端口80转发到内部服务器WAN2将端口80转发到同一台内部服务器
您应该能够将两个WAN转发到相同的内部IP和端口。 我猜这里的回复数据包会通过它们进入路由器的端口。
然后,当你的DNS故障到你的第二个IP它应该工作。
我会说从一个地方购买这些路由器之一,如果它不工作,可以返回它,试试看。
在过去的三年里,我也一直在使用其中的8个,而没有一个问题。