Anstatt die Regeln manuell einzugeben, können Sie iptables
sie den entsprechenden Ketten hinzufügen und dann speichern. Auf diese Weise können Sie die Regeln live debuggen und bestätigen, dass sie korrekt sind, anstatt sie der Datei hinzufügen zu müssen, wie Sie es anscheinend tun.
So öffnen Sie Port 80:
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
Der letzte Befehl speichert die hinzugefügten Regeln. Dies ist die Regel, die ich verwenden würde, um den Port für den Webdatenverkehr zu öffnen.
Warum Ihre Regel Probleme verursacht
Wenn Sie die Regel bemerken, die Sie verwenden möchten:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Hat eine Kette namens "RH-Firewall-1-INPUT". Wenn Sie diese Kette oder ein Glied von der INPUT
Kette zu dieser Kette nicht haben, wird diese Regel niemals erreichbar sein. Diese Regel könnte wahrscheinlich so aussehen:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Oder Ihre INPUT
Kette sollte RH-Firewall-1-INPUT
mit einer Regel wie der folgenden mit dieser Kette verknüpft sein :
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
HINWEIS: Mit diesem Befehl können Sie sehen, über welche Ketten Sie verfügen:
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
Möglicherweise müssen auch die Status geändert werden, damit auch vorhandene Verbindungen zulässig sind.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Auch wenn Sie den -A
Schalter verwenden, hängen Sie die Regel an die Kette an INPUT
. Wenn andere Regeln davor sind, die das Erreichen dieser Regel blockieren und / oder stören, wird sie niemals ausgeführt. Vielleicht möchten Sie es nach oben verschieben, indem Sie Folgendes einfügen, anstatt es anzuhängen:
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
Verwenden der GUI
Firewalls können komplizierte Biester sein. Vielleicht möchten Sie stattdessen die TUI ausprobieren (TUIs sind GUIs für das Terminal).
$ sudo system-config-firewall-tui
Sie können dann durch die verschiedenen Bildschirme gehen, um iptables
Regeln einzurichten .
Verweise
/etc/sysconfig/iptables
und sie hinzufügen. Ihre ursprünglichen Einträge sollten sich in dieser Datei befinden/etc/sysconfig/iptables.save
.Aus dem gleichen Grund habe ich kürzlich CentOS 6.5 als virtuelle Maschine installiert, um es als virtuellen Webserver zu verwenden. Wie auch immer, ich habe diese sehr detaillierte Anleitung aus dem CentOS-Wiki befolgt . Dann habe ich gemäß der Antwort von @slm Port 80 hinzugefügt und mit gespeichert
sudo /etc/init.d/iptables save
.iptables -L -v
hat diese Ausgabe:quelle
Wenn Sie Ihre Firewall-Einstellungen bearbeiten möchten, aber nicht mit diesen vertraut sind
iptables
, empfehlen wir Ihnen, dassystem-config-firewall-tui
Tool zu verwenden , wenn Sie keinen X-Server haben. Verwenden Sie dazusystem-config-firewall
das GUI-Tool.quelle