Linuxnetworking:如何将传入连接从旧服务器redirect到新服务器?

我正在将旧服务器移动到新的服务器,但我会保持运行的旧服务器的数据库复制和负载平衡等每个服务器有一个单独的互联网连接与静态IP,他们通过连接一个本地以太网连接。 我已经在旧服务器上运行Ubuntu 8.04 32位,在新服务器上运行Debian 6.0 64位。 Shorewall防火墙安装在两台服务器上。 有一些室外设备正在周期性地向43597端口发送旧的服务器IP地址数据。 我可以运行networking服务的多个实例,负责从服务器上的设备接收数据,但在不同的端口上。

这里的问题是:

如何在新服务器上运行服务,并将旧服务器的连接redirect到新服务器,并且新设备仍然可以连接到新服务器的IP地址,最好是在同一端口和相同的服务上? 直到所有设备得到更新发送到新的服务器。

我已经尝试了一个shorewall DNAT规则,但似乎新服务器的默认路由应该改为以太网连接,这打破了其他的事情。

我也发现有关redir实用程序,但还没有尝试过。

有没有最佳实践或简单的解决scheme,这种情况下,我不知道?

提前致谢。

解决了

我终于通过在旧服务器上的shorewall masq文件的顶部添加以下行来工作:

+eth1 0.0.0.0/0 192.168.1.1 tcp 43597 

  • 设置一个鱿鱼反向代理
  • 使用redir util
  • 使用netfilter,你需要DNAT和SNAT。

如果你有一个智能交换机/路由器,你可能会在那里做(必须有第三层function来改变数据包)。 否则,Erik给出的解决scheme是非常棒的。

您可能会考虑在将来使用主机名而不是IP,因为这是DNS存在的主要原因之一:所以您可以在将来抽象掉IP,而不会影响其他各种事情。