iptables 目标 IP 和端口

suk*_*vir 2 linux iptables redirect linux-networking

我正在寻找一种方法将所有流量(到任何端口)从一台电脑转发到某个IP。

看看下面的规则:

iptables -t nat -A PREROUTING -p tcp --dport 443 --jump DNAT --to-destination 129.94.5.88:5000
Run Code Online (Sandbox Code Playgroud)

这告诉我所有发往端口 443 的流量都应该转移到129.94.5.88:5000. 我如何更改此规则以表示:

iptables -t nat -A PREROUTING -p tcp --dport "ANY DESTINATION PORT" --jump DNAT --to-destination 129.94.5.88:5000
Run Code Online (Sandbox Code Playgroud)

我还想知道如何根据目标IP而不是端口进行重定向。所以再次查看这条规则:

iptables -t nat -A PREROUTING -p tcp --dport 8443 --jump DNAT --to-destination 129.94.5.88:5000
Run Code Online (Sandbox Code Playgroud)

如何更改此设置以基于目标 IP(比如说8.8.8.8)而不是端口进行重定向?

kri*_*sFR 6

对于第一个,不要指定--dport参数,这将意味着“任何端口”:

iptables -t nat -A PREROUTING -p tcp --jump DNAT --to-destination 129.94.5.88:5000
Run Code Online (Sandbox Code Playgroud)

对于第二个,使用目标主机的参数更改--dport参数:-d

iptables -t nat -A PREROUTING -p tcp -d 8.8.8.8 --jump DNAT --to-destination 129.94.5.88:5000
Run Code Online (Sandbox Code Playgroud)