在 Windows Server 上拆分访问?

在 Windows Server 上拆分访问?

情况:两个 ISP 需要提供故障转移冗余。

似乎关于 Windows 服务器的主流观点是“不要多宿主”。每当有人问如何正确做到这一点时,你都会听到有人问“为什么需要这样做”?其他建议是“使用负载平衡路由器”。

不幸的是,我尝试使用负载平衡路由器(消费级,我买不起高端思科路由器),但它们工作不可靠,而且它们实际上不提供基于源的路由(或任何类型的实际基于策略的路由)以允许特定流量使用特定的互联网连接。

就我而言,最好的整体解决方案是通过单独的 NIC 将两个互联网连接直接馈送到我的服务器。问题是 Windows 似乎没有办法进行所谓的“拆分访问”路由。拆分访问允许多个接口拥有自己的默认网关,这样当数据包从互联网进入时,响应数据包可以通过同一网关(而不是系统默认网关)路由回来。

有关分割访问的更多信息,请阅读:

http://lartc.org/howto/lartc.rpdb.multiple-links.html

此解决方案在 Linux 上效果很好,使用 iproute2,我可以设置拆分访问,一切运行良好。但在 Windows 中,它总是尝试通过系统默认网关而不是第二个网络连接的网关来响应来自 LAN 外部的数据包。您不能简单地添加第二个默认网关,因为这会导致各种奇怪的结果。

在 Windows 中有没有办法做类似于在 Linux 中使用 iproute2 进行分割访问的事情?

这里的想法是,我在服务器上有两个 NIC。我将我的 Web 服务器绑定到具有不同 IP 地址的两个 NIC,然后我使用故障转移 DNS 系统来监控我的网络连接,并在第一个 ISP 发生故障时切换到辅助 IP(在第二个 ISP 上)。这不是最好的解决方案,但我可以比其他解决方案少花很多钱来实现它。

对于 DNS 故障转移,我正在考虑这样的解决方案:

http://www.dnsmadeeasy.com/s0306/prod/dnsfosm.html

请不要说教我不需要多宿主,因为我买不起能够正确进行负载平衡的设备,而且消费级设备无法可靠地满足我的需求。

答案1

我建议设置一个基于 Linux 的路由器来执行双归属。然后配置基于源的路由以实现与 iproute2 相同的功能。在我看来,分割访问路由是基于源的路由的一种特殊形式。

其他建议:将服务器移至 Linux 平台并使用 iproute2(如果该路由解决方案能够满足您的所有需求)。

替代建议:虚拟化 Windows 服务器,在 Linux 服务器上运行,并让运行 iproute2 的 Linuxe 服务器执行路由。

听起来你会接受有限的非连接期,所以你不需要太担心困扰 VRRP 或集群架构的 3 层路由问题。但要记住的一点是,许多应用程序和中间数据包检查点都希望给定连接的路由一致,即“持久连接”。维护连接的持久路由一段时间以来一直是网络和安全架构师的难题。

如果您买不起商业产品,您是否调查过:

答案2

如果我正确理解了您的要求,Draytek 2910 路由器将完全满足您的要求,并且除非您有空,否则它会比自己使用便宜得多。

我们到处都使用 Draytek 2910,通常一个 WAN 端口连接到 ADSL(非 NAT)路由器,另一个连接到专线或类似连接。路由器将使用 ping 到您指定的地址来检测 WAN 端口上的链路故障,并在大约十秒钟内禁用故障端口。从内部,流量通过负载较少的 WAN 端口流出。您还可以指定负载平衡规则,以根据源和/或目标 IP 地址和/或端口通过特定 WAN 端口引导出站流量。

从外部,您可以在每个 WAN 端口上分别使用端口映射规则,例如,如果您将 80 端口映射到两个 WAN 端口上的内部服务器,则路由器将接受任一 WAN 端口上的连接并将其定向到服务器。

JR

答案3

尝试 PfSense 防火墙/路由器。我在类似情况下使用过它。

Vyatta 也可能是一个选择。我有一段时间没用它了,但读到他们的最新版本设置起来要容易得多。

答案4

由于我没有遇到过您的问题,所以不确定这是否适合您,但这可能是一个选择。

Linksys RV042 路由器可能会满足您的需求(顺便说一句,它现在是思科小型企业),上次我检查时,该路由器的价格约为 200 美元。

它有双 WAN 端口,因此您可以拥有 2 个独立的 ISP,并且每个 WAN 都有自己的 IP。我已经这样做了,效果很好。

这是我没有做的事情,因为我不需要,但你可以尝试一下。

像这样设置端口转发 WAN1 将端口 80 转发到您的内部服务器 WAN2 将端口 80 转发到同一内部服务器

您应该能够将两个 WAN 转发到相同的内部 IP 和端口。我猜回复数据包将通过它们进入路由器的端口发出。

然后,当您的 DNS 故障转移到第二个 IP 时,它就应该可以工作了。

我建议你从可以退货的地方买一个这样的路由器,如果它不工作的话,试一试。

另外,过去 3 年中我已经使用了 8 个这样的产品,没有出现任何问题。

相关内容