iptables 端口转发到不同的本地地址

iptables 端口转发到不同的本地地址

我想将本地流量转发到 127.0.0.2:30041 至 127.0.0.2:40041 以及将 127.0.0.3:30041 转发到 127.0.0.3:40041。

当我使用时, sudo iptables -t nat -A OUTPUT -o lo -p udp -m udp --dport 30041 -j REDIRECT --to-ports 40041 所有流量都暗示转发到 127.0.0.1:40041。

我试过

sudo iptables -t nat -A OUTPUT -o lo -d 127.0.0.2 -p udp -m udp --dport 30041 -j REDIRECT --to-ports 40041

sudo iptables -t nat -A OUTPUT -d 127.0.0.2 -p udp -m udp --dport 30041 -j REDIRECT --to-ports 40041

但流量仍然仅转发到 127.0.0.1。

可疑的是,最终的规则表明该-d 127.0.0.2选项似乎被忽略了,destination只是localhost

sudo iptables -t nat -v -L OUTPUT
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    3   357 REDIRECT   udp  --  any    any     anywhere             localhost            udp dpt:30041 redir ports 40041
    6 10018 DOCKER     all  --  any    any     anywhere            !localhost/8          ADDRTYPE match dst-type LOCAL

如何让 iptables 转发到特定的本地地址?

相关内容