我有两个专用服务器和没有硬件防火墙。我想转发进入端口1008的主服务器通过同一网络上的另一个专用服务器上完成的所有请求。我知道我需要建立某种形式的TCP代理的,但我第一次听到的iptables昨天。任何快速提示?

有帮助吗?

解决方案

卡森是正确的:把服务器和客户端之间的桥接防火墙。的shorewall(IP表)然后可以将流量重定向到不同的端口和不同的机器。

通过防火墙是一个桥梁,你不必更改网络设置,但桥接接口必须分配每个网络客户端的一个IP地址和服务器都在。否则重定向将不起作用。

警告:在连接最初指着机器必须是在线(意思是:它的IP地址必须在使用),否则重定向将无法正常工作

如果重定向是指为故障切换为高可用性的一种手段,我会考虑负载平衡器(簇),而不是在防火墙,这导致Linux虚拟服务器(一般方法),或负载平衡器软件如Apache(与国防部proxy_balancer),平衡或pount(如果只有http请求是要平衡)。还有硬件设备等从F5用于负载平衡。

其他提示

最简单的方法是使用一些东西,只是一个TCP代理。这是可能实现这个使用iptables,但不容易。

这是很容易从转发所用于B到C(DNAT使用),但更难获得C'S响应回到A通过B(DNAT,因为不改变发件人地址)的请求。然后,将忽略的响应,因为它们会在C是未来而非乙

基本上做将设置乙为C的默认网关,以及使用转发的方式,然而,这种放置失败的附加点在B;如果B出现故障,C的出站通信(包括对发送到C直接请求的响应)将最终下降黑洞。

使用iptables有可能没有这个路由招我想,但你需要有相同的连接SNAT'd和DNAT'd,这充其量是棘手的。

通常,在这种情况下,大多数人把另一台主机(防火墙)在两台机器的前面,并使其DNAT决定 - 当然这引入了一个故障点为好,这也是为什么在关键的设置,防火墙通常具有rendundant备份(它的配置是同步的,有时它的连接跟踪表是)

首先,我建议你在地方得到一个防火墙。我用的shorewall 很长一段时间来管理iptables的,这是非常容易配置。其次,如果你使用类似的shorewall有容易如何做DNAT指南(端口fowarding)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top