端口重路由替代IPTables?

我正尝试重新路由特定IP上的端口。 有没有办法解决这个问题,而不使用iptables

背景

我使用node.js&socket.io作为实时服务器。 为确保此服务器可从所有networking(对端口stream量具有严格的安全控制)提供,它具有专用IP。 这意味着它可以使用在大多数networking中允许的端口80。

这导致了第二个问题。 一些反病毒软件在端口80上阻塞这个stream量。我发现使用最好的端口是4000。

我想为客户端提供两个连接选项。 端口80将是默认的,如果失败,它将使用4000.然后,我需要能够将端口4000重新路由回端口80,以使两个端口使用相同的node.js服务器。

我曾尝试使用iptable来重新路由此端口,但我的VPS提供程序不支持iptables的NAT模块。 他们也不能改变内核来支持这个。

还有什么其他的select?

我正在寻找一个新的VPS提供商…听起来像你在一个Virtuozzo系统,这是从来没有一个愉快的经历。

我想说你唯一的select就是让代理监听你想要的任何端口,并把请求转发到正确的地方。 我倾向于使用haproxy,只是因为它处于简单和健壮的正确水平。 如果您不需要客户端IP地址数据,您可以在TCP连接模式下运行它,否则将其作为HTTP代理运行,并插入相应的标头以logging客户端IP。 你可以运行一个完全成熟的HTTP服务器,并将其作为反向代理运行,但这太大了过量,并且可能会导致复杂性,尤其是考虑到你将要使用的不太主stream的用途。

您可以使用xinetd或netcat的redirectfunction,甚至可以使用它们的组合。 作为替代你可以(我不会推荐它)也使用ssh portforwardingfunction。

检查以上提到的手册页…

HTH

你可以试试nginx; 这会比[x] inetd和co更有效。