路由流量,使其看起来好像来自单个(静态)IP 地址

路由流量,使其看起来好像来自单个(静态)IP 地址

我们有三组计算机:客户端、单个代理和多台服务器。

客户端(很多)希望使用特定且一致的端口上的 TCP 连接到服务器(很多)。目前,它们直接这样做。连接始终源自客户端。一切都很顺利,世界也很美好。

但是,我们想在这个等式中引入代理/网关/路由器。目标是将静态 IP 地址绑定到“代理”,以便服务器将所有流量视为来自静态 IP 地址。

客户端使用多种协议向多个服务器发出请求(例如,它们也发出 http 请求)。我们只想“代理”一种协议。所有其他协议都应允许照常路由。

我认为这个问题可以针对任何协议重新定义。碰巧的是,协议(端口)是 LDAP。但我思考这是不太相关的(除非有一个好用、方便的小型 LDAP 代理软件)。

我认为这无关紧要,但我们的环境是 AWS。我们没有运行 VPC。这可能很重要,因为这些机器只有一个网络接口。

我们尝试了几种方法,但都没能成功。我欢迎您的意见 - 即使您告诉我们我们想做的事情是不可能的!

谢谢。

忍耐。

答案1

了解您尝试过的方法会很有帮助。假设您不想在客户端计算机上运行代理客户端,我建议在边界路由器上使用源 NAT。

在具有 iptables 的 Linux 中:

iptables -t nat -A PREROUTING -i $outside_interface -d $your_servers/netblock \
         -p tcp --dport $ldap -j SNAT --to $source_address

大多数非玩具防火墙系统应该能够模拟这种行为。

答案2

我不太确定我是否理解了你到底想做什么。但是:

我认为您所描述的情况应该可以通过简单的网络代理解决。市面上有很多代理,包括平衡xinetd,后者可能已安装在您的系统上。 这些都是 TCP 代理(它们不适用于基于 UDP 的服务),但涵盖了 HTTP、LDAP 以及您可能关心的大多数其他协议。

通过在客户端和服务器之间放置一个“伪装”路由器(​​可能是 Linux 系统)可以实现类似的目的。有关此内容的更多信息,请参见这里

相关内容