Website-Suche

So machen Sie iptables nach dem Neustart unter Linux persistent


Die iptables-Firewall auf Linux-Systemen ist eine sehr nützliche Funktion, die es Systemadministratoren ermöglicht, mit granularer Präzision zu kontrollieren, welcher Netzwerkverkehr für das System zugelassen oder verweigert wird.

Erfahrene Linux-Administratoren kennen wahrscheinlich die Frustration und den Schmerz, der mit einem Systemneustart einhergeht, bei dem die iptables-Regeln eines Systems vollständig gelöscht werden. Das liegt daran, dass iptables-Regeln nach einem Neustart standardmäßig nicht beibehalten werden. Nachdem Sie die iptables-Regeln Ihres Systems konfiguriert haben, gibt es noch einen weiteren wichtigen Schritt, den Sie ausführen müssen, um sicherzustellen, dass die Regeln nach einem Neustart noch vorhanden sind.

In diesem Tutorial erfahren Sie, wie Sie iptables-Regeln nach dem Neustart auf allen wichtigen Linux-Distributionen, einschließlich DEB- und RPM-basierten Systemen, persistent machen können.

In diesem Tutorial lernen Sie:

  • So installieren Sie das iptables-persistente Paket auf DEB-Distributionen
  • So installieren Sie das iptables-services-Paket auf RPM-Distributionen
  • So verwenden Sie den Befehl iptables-save, um Regeln nach dem Neustart beizubehalten
  • So entfernen Sie gespeicherte Regeln

So machen Sie iptables-Regeln nach dem Neustart unter Linux Schritt für Schritt Anleitung

WUSSTEN SIE SCHON?
Einige iptables-Frontends, wie z.B. firewalld für Red Hat-basierte Systeme und ufw für Ubuntu-basierte Systeme, speichern Ihre Regeln automatisch für Sie und sie bleiben auch nach einem Neustart erhalten.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie bereits einige Regeln auf Ihrem System konfiguriert haben. Insbesondere wird in diesem Tutorial davon ausgegangen, dass Sie die Regeln mit iptables und nicht mit einer Frontend-Firewallanwendung wie firewalld oder ufw konfiguriert haben.

Um die Regeln auf Ihrem System anzuzeigen, können Sie den folgenden iptables-Befehl verwenden.


sudo iptables -L

Abhängig von der Linux-Distribution, die Sie verwenden, befolgen Sie den richtigen Abschnitt unten, um Ihre konfigurierten iptables-Regeln zu speichern.

NOTE
DEB-basierte Systeme sind Distributionen wie Debian, Ubuntu, Linux Mint und andere Derivate. Zu den RPM-basierten Systemen gehören Red Hat, Fedora, CentOS, AlmaLinux, Rocky Linux und andere Red Hat-basierte Distributionen. Dazu gehört auch openSUSE.

Speichern von iptables-Regeln auf DEB-basierten Systemen

  1. Um Ihre iptables-Regeln nach dem Neustart persistent zu machen, installieren Sie das Paket iptables-persistent mit dem apt-Paketmanager:

    
    sudo apt install iptables-persistent
    

    Alle derzeit erstellten iptables-Regeln werden in den entsprechenden IPv4- und IPv6-Dateien unten gespeichert:

    
    /etc/iptables/rules.v4
    /etc/iptables/rules.v6
    
  2. Um persistente iptables mit neuen Regeln zu aktualisieren, verwenden Sie einfach den Befehl iptables, um neue Regeln in Ihr System aufzunehmen. Um Änderungen nach dem Neustart dauerhaft zu machen, führen Sie den Befehl iptables-save aus:

    
    sudo iptables-save > /etc/iptables/rules.v4
    OR
    sudo ip6tables-save > /etc/iptables/rules.v6
    
  3. Um persistente iptables-Regeln zu entfernen, öffnen Sie einfach die entsprechende Datei /etc/iptables/rules.v* und löschen Sie die Zeilen, die alle unerwünschten Regeln enthalten.

Speichern von iptables-Regeln auf RPM-basierten Systemen

  1. Um Ihre iptables-Regeln nach dem Neustart persistent zu machen, installieren Sie das Paket iptables-services mit dem dnf-Paketmanager:

    
    sudo dnf install iptables-services
    

    Alle derzeit erstellten iptables-Regeln werden in den entsprechenden IPv4- und IPv6-Dateien unten gespeichert:

    
    /etc/sysconfig/iptables
    /etc/sysconfig/ip6tables
    
  2. Stellen Sie sicher, dass Sie firewalld deaktivieren und den iptables-Dienst in systemd aktivieren.

    
    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    sudo systemctl start iptables
    sudo systemctl enable iptables
    

    Mit dem folgenden Befehl können Sie dann sicherstellen, dass der Dienst ausgeführt wird:

    
    sudo systemctl status iptables
    
  3. Um persistente iptables mit neuen Regeln zu aktualisieren, verwenden Sie einfach den Befehl iptables, um neue Regeln in Ihr System aufzunehmen. Um Änderungen nach dem Neustart dauerhaft zu machen, führen Sie den Befehl iptables-save aus:

    
    sudo iptables-save > /etc/sysconfig/iptables
    OR
    sudo ip6tables-save > /etc/sysconfig/ip6tables
    
  4. Um persistente iptables-Regeln zu entfernen, öffnen Sie einfach eine relevante /etc/sysconfig/iptables- oder /etc/sysconfig/ip6tables-Datei und löschen Sie die Zeilen, die alle unerwünschten Regeln enthalten.

Abschließende Gedanken

In diesem Tutorial haben wir gesehen, wie man iptables-Regeln nach einem Neustart auf DEB- und RPM-basierten Linux-Distributionen persistent macht. Viele Systeme haben heutzutage ein eigenes iptables-Frontend, wie z.B. firewalld oder ufw, die die Firewall benutzerfreundlicher machen und auch standardmäßig Ihre Regeln speichern. Viele Linux-Administratoren ziehen es jedoch immer noch vor, direkt mit iptables zu arbeiten, und das zusätzliche iptables-save-Dienstprogramm ist notwendig, um sicherzustellen, dass alle Ihre iptables-Regeln nach einem Neustart bestehen bleiben.

Verwandte Artikel: