路由stream量,使其看起来似乎来自单个(静态)IP地址

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

客户端(许多)想要使用特定的和一致的端口上的TCP连接到服务器(许多)。 目前他们直接这样做。 连接始终来自客户端。 一切都开心,世界是美好的。

不过,我们想介绍一个代理/网关/路由器的等式。 目标是将静态IP地址绑定到“代理”,以便服务器将所有stream量视为源自静态IP地址。

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

我认为这个问题可以重新框定任何协议。 恰巧,协议(端口)是LDAP。 但是我认为这是非常不相干的(除非有一个很好的,方便的LDAP代理软件)。

我不认为这很重要,但我们的环境是AWS。 我们没有运行VPC。 为什么重要的是机器只有一个networking接口。

我们已经尝试了几种方法,但还没有设法使这个工作。 我会欢迎你的意见 – 即使是告诉我们,我们想做的事情是不可能的!

谢谢。

RENEN。

知道你已经尝试了什么方法是有帮助的。 假设你不想在你的客户端机器上运行代理客户端,我build议在你的边界路由器上使用源代码。

在Linux下用iptables:

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

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

我不完全确定,我完全明白你想要做什么。 然而:

一个简单的networking代理应该为我想你所描述的工作。 其中有很多,包括余额和xinetd ,后者可能已经安装在您的系统上。 这些都是TCP代理(它们不能与基于UDP的服务一起工作),但涵盖了HTTP,LDAP以及其他大多数您将要关心的协议。

通过在您的客户端和服务器之间放置一个“伪装”路由器(​​可能是一个Linux系统),可以完成类似的事情。 关于这方面的更多信息可以在这里find。