
Ich möchte den lokalen Datenverkehr von 127.0.0.2:30041 bis 127.0.0.2:40041 und von 127.0.0.3:30041 bis 127.0.0.3:40041 weiterleiten.
Wenn ich es verwende,
sudo iptables -t nat -A OUTPUT -o lo -p udp -m udp --dport 30041 -j REDIRECT --to-ports 40041
wird der gesamte Datenverkehr automatisch an 127.0.0.1:40041 weitergeleitet.
Ich habe es versucht
sudo iptables -t nat -A OUTPUT -o lo -d 127.0.0.2 -p udp -m udp --dport 30041 -j REDIRECT --to-ports 40041
sowie
sudo iptables -t nat -A OUTPUT -d 127.0.0.2 -p udp -m udp --dport 30041 -j REDIRECT --to-ports 40041
Der Datenverkehr wird jedoch weiterhin nur an 127.0.0.1 weitergeleitet.
Verdächtigerweise zeigen die resultierenden Regeln, dass die -d 127.0.0.2
Option scheinbar ignoriert wird. Sie destination
lautet einfach 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
Wie kann ich iptables dazu bringen, an eine bestimmte lokale Adresse weiterzuleiten?