将本地stream量路由到ip1:port到extern ip2:port

我有一个服务设置,在成功login(Couchbase)后redirect,但它转移到的IP是本地的,连接到的客户端无法到达。

我如何设置iptables,使我可以将客户端生成的stream量路由到另一个端口?

  • 客户端连接到server1
  • Server1发送客户端的IP连接(这是本地的server1,而不是客户端)
  • 客户端被redirect到192.168.2.53:11210(无法到达)
  • IPTables将发送到192.168.2.53:11210的所有stream量路由到outside_ip:11210

HTTP服务只是返回和IP连接,从而“redirect”客户端,而不是HTTPredirect。

我没有IPTables舒适,所以我不渴望尝试它/搞砸了,失去了我的SSH连接,我已经看到了一些例子,但没有一个似乎工作或做我想要的东西。

如果你不能得到web服务给客户端一个有效的可路由公共IP地址,除非你写客户端忽略web服务提供的IP地址,否则它永远不会工作。 iptables无法解决这个问题(没有编写像ip_masq_ftp这样的协议检查模块,然后假设你没有使用SSL)。

如果你可以得到web服务给一个可以访问互联网和私人networking的计算机的合适的公共IP,那么最简单的做法是在该机器上运行rinetd ,在互联网上监听并转发连接到私有端,但为了这个工作,端口必须是相同的IP一致的(您可以有多个端口redirect,但传入端口11210总是必须去192.168.2.53)(您可以redirect到一个不同的端口,所以如果你有… 53:11210和… 54:11210,你可以使用:11211redirect到其中的一个,但web服务将需要知道这一点)。