当有人连接到 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。