
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 を特定のローカル アドレスに転送するにはどうすればよいでしょうか?