%20um%3F.png)
Ich möchte Port 80 auf 8080 weiterleiten. Also habe ich versucht, Folgendes zu bearbeiten /etc/syscongfig/iptables
:
-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Aber bekam:
# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: iptables-restore v1.4.7:
Line 8 seems to have a -t table option.
Wo liegt das Problem? Wie soll es gelöst werden?
Antwort1
Verfügt die Datei /etc/syscongfig/iptables
über die richtige Struktur für iptables-restore?
Versuchen Sie, diese Regel manuell zur Firewall hinzuzufügen
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Und vergleichen Sie /etc/sysconfig/iptables
mit der Ausgabe des iptables-save
Befehls
Antwort2
Dies ist deiniptables
Regel:
-A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
Ich glaube aber, dass es stattdessen etwa so lauten sollte:
-A PREROUTING -t nat -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
Beachten Sie, dass -m tcp
hinzugefügt wird. Während -p tcp
es mit dem Protokoll der Regel oder des zu prüfenden Pakets übereinstimmt, -m tcp
weist es IPTables explizit an, ein TCP-Paket abzugleichen. Es scheint verwirrend, aber meines Wissens -p tcp
muss es gepaart werden, -m tcp
wenn portspezifische Regeln aufgerufen werden.
Wenn jemand anders die Gründe/Logik hinter dieser Anforderung näher erläutern kann, geben Sie dazu bitte einen Kommentar ab.