将连接重定向到其他 IP 上的不同端口?

将连接重定向到其他 IP 上的不同端口?

当有人连接到 myIP:123 时,我希望我的服务器 (Ubuntu) 将其连接重定向到 otherIP:456。显然,与其他端口的连接应得到正常处理。我很确定这可以通过 iptables 完成,只是不知道规则是什么。我知道如何将其作为 HTTP 重定向来执行,但这不是 HTTP。

答案1

我会做这样的事情:

iptables -t nat -A PREROUTING -p tcp --dport 123 -j DNAT --to-destination otherserver:456
iptables -t nat -A POSTROUTING -j MASQUERADE

但这意味着你已经在 sysctl 中打开了 IP 转发,net.ipv4.ip_forward=1/etc/sysctl.conf

答案2

您可以使用 iptables 来重定向端口/ip。

这里给出了示例:

http://www.debuntu.org/how-to-redirecting-network-traffic-a-new-ip-using-iptables

或者您可以安装 rinetd,在我看来,这更容易。我通常使用 rinetd。

相关内容