Übersicht
firewall-cmd interagiert mit dem firewalld-Dienst, um den Netzwerkverkehr eines Systems zu steuern. Sie können Regeln sowohl für die Laufzeit als auch permanent anwenden und bieten durch verschiedene Netzwerkzonen (Zones) flexible Sicherheitspolitiken. Dies ermöglicht es Ihnen, die Sicherheit Ihres Servers zu erhöhen und den Zugriff auf bestimmte Dienste zu erlauben oder zu blockieren.
Hauptfunktionen
- Port- und Dienstverwaltung (Hinzufügen/Entfernen)
- Konfiguration und Verwaltung von Netzwerkzonen (Zones)
- IP-Adressen und netzwerkbasierte Regeln (Rich Rules)
- Anwendung von Laufzeit- und permanenten Regeln
- Konfiguration von Masquerading und Port-Weiterleitung
Wichtige Optionen
firewall-cmd ermöglicht die Abfrage und Konfiguration von Firewall-Regeln mithilfe verschiedener Optionen.
Regelanwendung und -verwaltung
Informationen abfragen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`firewall-cmd` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Verschiedene Beispiele für die Konfiguration und Verwaltung von Firewall-Regeln mit firewall-cmd.
Aktive Zonen und Regeln überprüfen
firewall-cmd --list-all
Überprüft alle aktuellen Laufzeit-Einstellungen der Standardzone (public).
Alle Einstellungen einer bestimmten Zone überprüfen
firewall-cmd --zone=internal --list-all
Überprüft alle Einstellungen einer angegebenen Zone (z. B. internal).
HTTP-Dienst hinzufügen (Laufzeit)
sudo firewall-cmd --zone=public --add-service=http
Erlaubt den HTTP-Dienst temporär in der Zone public. Verschwindet nach einem Neustart.
HTTP-Dienst hinzufügen (Permanent)
sudo firewall-cmd --zone=public --add-service=http --permanent
Erlaubt den HTTP-Dienst permanent in der Zone public. --reload ist erforderlich, um die Änderungen anzuwenden.
Firewall-Regeln neu laden
sudo firewall-cmd --reload
Wendet alle permanent konfigurierten Regeln auf die aktuelle Laufzeit-Firewall an.
Port 8080/tcp hinzufügen (Permanent)
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
Erlaubt den TCP-Port 8080 permanent in der Zone public. Nach der Anwendung ist ein Reload erforderlich.
SSH-Dienst entfernen (Permanent)
sudo firewall-cmd --zone=public --remove-service=ssh --permanent
Entfernt den SSH-Dienst permanent aus der Zone public. Nach der Anwendung ist ein Reload erforderlich.
Alle permanenten Regeln anwenden
sudo firewall-cmd --reload
Wendet alle permanent geänderten Regeln sofort an.
Installation
firewall-cmd ist Teil des firewalld-Pakets. Es ist auf den meisten modernen Linux-Distributionen vorinstalliert oder kann einfach installiert werden.
CentOS/RHEL/Fedora
sudo dnf install firewalld
Installiert firewalld auf Red Hat-basierten Linux-Systemen.
Ubuntu/Debian
sudo apt install firewalld
Installiert firewalld auf Debian-basierten Linux-Systemen.
Dienst starten und aktivieren
sudo systemctl start firewalld
sudo systemctl enable firewalld
Startet den firewalld-Dienst nach der Installation und aktiviert ihn für den automatischen Start beim Systemstart.
Tipps & Hinweise
Wichtige Punkte und nützliche Tipps bei der Verwendung von firewall-cmd.
Laufzeit vs. Permanente Regeln
- Ohne die Option `--permanent` werden Regeln nur für die aktuelle Sitzung angewendet und gehen nach einem Neustart verloren.
- Für eine permanente Anwendung müssen Sie `--permanent` verwenden und dann die Änderungen mit dem Befehl `firewall-cmd --reload` anwenden.
Verständnis von Zonen
- firewalld verwaltet Netzwerkschnittstellen, indem es sie verschiedenen Sicherheitszonen zuordnet. Jede Zone kann unterschiedliche Sicherheitsstufen haben.
- Die Standardzone ist `public` und wird für die meisten externen Verbindungen verwendet. Es gibt verschiedene Zonen wie `home`, `internal`, `trusted`.
Verwendung von Dienstnamen
- Die Verwendung vordefinierter Dienstnamen wie `http`, `https`, `ssh` anstelle von Portnummern (z. B. 80/tcp) ist für die Lesbarkeit und einfache Verwaltung besser.
- Sie können die Liste der verfügbaren Dienste mit dem Befehl `firewall-cmd --get-services` überprüfen.
Backup und Testen
- Es ist ratsam, die aktuellen Einstellungen mit dem Befehl `firewall-cmd --list-all --zone=<zone>` zu dokumentieren, bevor Sie wichtige Änderungen vornehmen.
- Nachdem Sie Änderungen angewendet haben, sollten Sie unbedingt testen, ob der betreffende Dienst ordnungsgemäß funktioniert.