переадресация портов 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 перенаправлять на определенный локальный адрес?

Связанный контент