在Windows中将数据包从服务器A路由到服务器B,B充当路由器

在Windows中将数据包从服务器A路由到服务器B,B充当路由器

我有两台(Windows 2008 R2)服务器,我们称它们为:AB

服务器A正在运行软件服务器(本例中为 Apache HTTP)。

在不触碰或更改 Apache 配置的任何内容的情况下,我需要将所有数据包B路由到服务器,并且(非常重要)Apache 需要知道真实访问者的 IP 地址。这意味着当访问者 192.168.1.2通过隧道A联系服务器上的 Apache 时,Apache 应该记录 IP 192.168.1.2,而不是 192.168.1.100AB

为了让事情变得更加复杂,如果我想要更多像这样的服务器该怎么办B

A无论访问者从哪个服务器连接,服务器都应该以某种方式知道访问者的真实 IP 地址B。所有这些都应该在网络/操作系统级别完成。(意思是:不必为每个软件服务器配置 Proxy Socks 防火墙或类似的东西)

我对隧道和网络完全是个新手,我对在 Windows 服务器中实现这一点需要什么类型的隧道(VPN、GRE、IPSEC?)感到很困惑。我应该寻找什么?是否可以以非常兼容的方式将BLinux 服务器连接到AWindows 服务器?我在这个网站上读到,理论上可行,但实践起来非常困难。

任何关于此事的意见都将不胜感激。

答案1

根据您的解释,您似乎更有可能正在寻找反向代理/负载平衡器。它将位于您的“B”位置,并且流量可以传递到您的 A 服务器。代理可以部署在路由模式或第 2 层模式下。无论哪种方式,为了确保您记录原始 IP,您都希望确保从代理发送 x-forwarded-for 标头。

您可以安装免费的代理软件产品,或者使用 KEMP、Netscaler 等设备。

相关内容