Ich verwende CentOS 6.5 und habe meinen iptables die folgenden Befehle hinzugefügt, um den gesamten eingehenden Datenverkehr auf Port 8088 an 4569 weiterzuleiten:
iptables -A PREROUTING -t nat -p udp --dport 8088 -i eth0 -j DNAT --to-destination 127.0.0.1:4569
iptables -I FORWARD 1 -d 127.0.0.1 -p udp --dport 4569 -j ACCEPT
iptables --list
zeigt die folgende Ausgabe:
iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere localhost.localdomain udp dpt:iax
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Wenn ich jedoch eine Paketverfolgung auf dem udp-Port 4569 durchführe, werden an diesem Port keine Pakete angezeigt. Dann habe ich folgendes hinzugefügt:
iptables -A PREROUTING -t nat -p udp --dport 8088 -i eth0 -j REDIRECT --to-ports 4569
Und mein iptable sieht so aus:
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 DNAT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8088 to:127.0.0.1:4569
2 REDIRECT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8088 redir ports 4569
Aber immer noch kein Glück. Was mache ich falsch?
quelle
Möglicherweise müssen Sie die IP-Weiterleitung im Linux-Kernel aktivieren.
Überprüfen Sie zunächst den aktuellen Wert.
Eine Null bedeutet, dass die IP-Weiterleitung deaktiviert ist. Dies ist die Standardeinstellung.
Aktivieren Sie die IP-Weiterleitung.
Jetzt erneut testen.
quelle