如何使用 iptables 将端口从网络接口的 IP 转发到同一 IP?

如何使用 iptables 将端口从网络接口的 IP 转发到同一 IP?

我需要将接口 IP 中的端口转发到同一 IP 但具有不同的目标端口。

首先我添加一个网桥并为其添加一个 IP:

ip link add br0 type bridge
ip link set br0 up
ip address add 10.0.0.1/32 dev br0

我尝试使用带有 DNAT 的 iptables:

iptables -t nat -A PREROUTING -i br0 -p tcp -d 10.0.0.1 --dport 1111 -j DNAT --to-destination 10.0.0.1:9050

端口未转发:

$ torsocks -a 10.0.0.1 -P 1111 w3m duckduckgo.com
w3m: Can't load duckduckgo.com.

我怎样才能做到这一点?

答案1

我发现了:

iptables -t nat -I OUTPUT -p tcp -o lo -d 10.0.0.1 --dport 1111 -j DNAT --to-destination 10.0.0.1:9050

iptables -t nat -I PREROUTING -d 10.0.0.1 -p tcp --dport 1111 -j DNAT --to-destination 10.0.0.1:9050

相关内容