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