Wie leite ich einen Port mit IPTables in Red Hat Linux (RHEL) um?

Wie leite ich einen Port mit IPTables in Red Hat Linux (RHEL) um?

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/iptablesmit der Ausgabe des iptables-saveBefehls

Antwort2

Dies ist deiniptablesRegel:

-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 tcphinzugefügt wird. Während -p tcpes mit dem Protokoll der Regel oder des zu prüfenden Pakets übereinstimmt, -m tcpweist es IPTables explizit an, ein TCP-Paket abzugleichen. Es scheint verwirrend, aber meines Wissens -p tcpmuss es gepaart werden, -m tcpwenn 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.

verwandte Informationen