Hallo, möchte alle Verbindungen zu einer bestimmten IP Adresse und einem bestimmten Port auf localhost:anderer_port umleiten. Wie mache ich das am besten? Eigentlich dachte ich, diese Regel iptables -t nat -A OUTPUT -d 1.2.3.4 -p tcp --destination-port 421 -j DNAT --to 127.0.0.1:543 sollte das für lokal erzeugte Pakete tun und diese iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --destination-port 421 -j DNAT --to 127.0.0.1:543 für geroutete. Leider erzielt das nicht den gewünschten Effekt. Die erste Regel liefert "iptables: Invalid argument", die zweite wird zwar akzeptiert, macht aber nicht wirklich, was es soll. Der nächste Versuch sah dann so aus: iptables -t nat -A OUTPUT -d 1.2.3.4 -p tcp --destination-port 421 -j REDIRECT --to-port 543 iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --destination-port 421 -j REDIRECT --to-port 543 Jetzt werden beide Regeln akzeptiert, doch der Effekt ist trotzdem nicht erreicht. Doch eine Änderung hat sich ergeben. Ohne diese Regeln hängt ein "telnet 1.2.3.4 421" von einem anderen Rechner (der Port ist von einer Firewall geblockt). Mit den Regeln kommt sofort "connection refused". Die Regel in der PREROUTING chain hat offensichtlich irgendeinen Effekt. Vom Router selbst hat sich das Verhalten von "telnet 1.2.3.4 421" aber nicht verändert. Also habe ich in beide chains noch Logging-Regeln eingebaut, um zu sehen, ob die Pakete überhaupt dort vorbeikommen. Wie erwartet finde ich eine Logfilezeile aus der PREROUTING chain, wenn telnet von einem anderen Rechner über den Router gemacht wird. Beim telnet vom Router selbst bleibt aber alles stumm. Wieso durchlaufen lokal erzeugte Pakete nicht die OUTPUT chain? Wie kann ich einfach alle TCP Verbindungen zu 1.2.3.4:421 auf 127.0.0.1:543 umleiten? Danke, Torsten