Lernen Sie, wie man die iptables-Firewall in Linux vorübergehend zur Fehlersuche deaktiviert. Lernen Sie auch, wie man Richtlinien speichert und wie man sie wiederherstellt, wenn man die Firewall wieder aktiviert.
Manchmal muss man die iptables Firewall ausschalten, um Probleme mit der Verbindung zu beheben, und dann wieder einschalten. Dabei möchten Sie auch alle Ihre Firewall-Richtlinien speichern. In diesem Artikel zeigen wir Ihnen, wie Sie Firewall-Richtlinien speichern und eine iptables-Firewall deaktivieren/aktivieren können. Für weitere Details über die iptables-Firewall und die Richtlinien lesen Sie unseren Artikel darüber.
Speichern von iptables-Richtlinien
Der erste Schritt beim vorübergehenden Deaktivieren der iptables-Firewall ist das Speichern der bestehenden Firewall-Regeln/Richtlinien. Der Befehl iptables-save
listet alle vorhandenen Richtlinien auf, die man in einer Datei auf dem Server speichern kann.
root@kerneltalks # iptables-save# Generated by iptables-save v1.4.21 on Tue Jun 19 09:54:36 2018*nat:PREROUTING ACCEPT :INPUT ACCEPT :OUTPUT ACCEPT :POSTROUTING ACCEPT :DOCKER - ---- output trucated----root@kerneltalks # iptables-save > /root/firewall_rules.backup
So ist iptables-save der Befehl, mit dem man ein Backup der iptables-Richtlinien erstellen kann.
Stop/disable iptables firewall
Für ältere Linux-Kernel haben Sie die Möglichkeit, den Dienst iptables mit service iptables stop
zu stoppen, aber wenn Sie einen neuen Kernel verwenden, müssen Sie nur alle Richtlinien löschen und den gesamten Verkehr durch die Firewall erlauben. Dies ist so gut wie das Anhalten der Firewall.
Verwenden Sie die folgende Liste von Befehlen, um dies zu tun.
root@kerneltalks # iptables -Froot@kerneltalks # iptables -Xroot@kerneltalks # iptables -P INPUT ACCEPTroot@kerneltalks # iptables -P OUTPUT ACCEPTroot@kerneltalks # iptables -P FORWARD ACCEPT
Wobei –
- -F: Flush alle Richtlinienketten
- -X: Benutzerdefinierte Ketten löschen
- -P INPUT/OUTPUT/FORWARD: Angegebenen Datenverkehr akzeptieren
Nachdem dies geschehen ist, überprüfen Sie die aktuellen Firewall-Richtlinien. Sie sollten wie unten aussehen, was bedeutet, dass alles akzeptiert wird (so gut wie Ihre Firewall deaktiviert/gestoppt ist)
# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination
Firewall-Richtlinien wiederherstellen
Wenn Sie mit der Fehlersuche fertig sind und iptables wieder mit allen Konfigurationen aktivieren wollen. Dazu müssen Sie zunächst die Richtlinien aus der Sicherungskopie wiederherstellen, die wir im ersten Schritt erstellt haben.
root@kerneltalks # iptables-restore </root/firewall_rules.backup
Starten Sie die iptables-Firewall
und starten Sie dann den iptables-Dienst, falls Sie ihn im vorherigen Schritt mit service iptables start
gestoppt haben. Wenn Sie den Dienst nicht gestoppt haben, können Sie nur die Richtlinien wiederherstellen. Prüfen Sie, ob alle Richtlinien wieder in den iptables-Firewall-Konfigurationen vorhanden sind:
root@kerneltalks # iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy DROP)target prot opt source destinationDOCKER-USER all -- anywhere anywhereDOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere-----output truncated-----
Das war’s! Sie haben die Firewall erfolgreich deaktiviert und aktiviert, ohne dass Ihre Richtlinienregeln verloren gegangen sind.
Die iptables Firewall dauerhaft deaktivieren
Für die dauerhafte Deaktivierung von iptables gehen Sie wie folgt vor –
- Stop iptables service
- Disable iptables service
- Flush all rules
- Save configuration
Dies kann mit den folgenden Befehlen erreicht werden.
root@kerneltalks # systemctl stop iptablesroot@kerneltalks # systemctl disable iptablesroot@kerneltalks # systemctl status iptablesroot@kerneltalks # iptables --flushroot@kerneltalks # service iptables saveroot@kerneltalks # cat /etc/sysconfig/iptables