Einführung in firewalld
- WAS?
Erfahren Sie mehr über
firewalld, ein wichtiges Werkzeug zum Schützen von Linux-Servern und -Diensten. Es handelt sich dabei um den standardmäßigen und primären Netzwerkverteidigungsmechanismus bei vielen modernen Distributionen. Die Funktionen der intuitiven zonenbasierten Verwaltung und der dynamischen Konfiguration ermöglichen eine präzise Steuerung des Netzwerkverkehrs ohne Dienstunterbrechung.- WARUM?
firewalldist unerlässlich, da es eine moderne, dynamische und benutzerfreundliche Möglichkeit zum Verwalten der Netzwerksicherheit auf Linux-Systemen bietet, indem komplexe Firewall-Regeln in intuitive Zonen und Dienste abstrahiert werden.- AUFWAND
Es dauert bis zu 30 Minuten, diesen Artikel zu lesen.
- ZIEL
Die Sicherheit eines Linux-Systems effektiv verwalten und erhöhen.
- ANFORDERUNGEN
sudo- oderroot-Rechte, dafirewalld-Befehle – insbesondere die, die dauerhafte Änderungen an den Firewall-Regeln vornehmen – erhöhte Rechte erfordern.firewalldist die Standard-Firewall bei vielen modernen Linux-Distributionen. Wenn sie auf Ihrem System nicht vorinstalliert ist, müssen Sie dasfirewalld-Paket installieren.Grundlegende Kenntnisse hinsichtlich des Linux-Terminals sind unerlässlich.
1 Informationen zu firewalld #
firewalld ist ein dynamischer Firewall-Verwaltungsdienst, der eine flexible und effiziente Möglichkeit zum Steuern des Netzwerkverkehrs auf Linux-Systemen bietet. Er ermöglicht Änderungen, ohne vorhandene Verbindungen zu unterbrechen. Die Verwendung von firewalld bietet folgende Vorteile:
Dynamische Konfiguration: Wenden Sie Änderungen sofort an, ohne vorhandene Verbindungen zu unterbrechen.
Benutzerfreundliche Oberfläche: Zonen und Dienste vereinfachen komplexe Firewall-Regeln.
Abstraktion: Es besteht keine Notwendigkeit,
nftables-Regeln für häufige Szenarien direkt zu ändern.Dauerhafte Konfiguration: Einfache Verwaltung von Regeln, die bei Neustarts beibehalten werden.
Dauerhafte Konfiguration: Standardmäßig wird von
firewalldeindeny-all-Prinzip verwendet, indem der gesamte eingehende Datenverkehr blockiert wird, sofern er nicht ausdrücklich zugelassen wurde.
1.1 firewalld-Zonen #
Eine Firewall-Zone ist ein vordefinierter Satz aus Regeln, die vorgeben, wie eingehender und ausgehender Netzwerkverkehr für eine bestimmte Netzwerkschnittstelle oder Quell-IP-Adresse behandelt wird. Jede Zone stellt eine andere Vertrauensstufe für das Netzwerk dar, dem sie zugeordnet ist. Sie können je nach Ursprung der Netzwerkverbindung unterschiedliche Sicherheitsrichtlinien anwenden.
Zonen sind wie Sicherheitsprofile. Sie möchten beispielsweise für eine öffentliche WLAN-Verbindung und Ihr geschütztes Heimnetzwerk unterschiedliche Firewall-Regeln anwenden. Mithilfe von firewalld-Zonen können Sie diese unterschiedlichen Regelsätze definieren und entsprechend anwenden. Eine Netzwerkverbindung unterliegt den Regeln von nur einer firewalld-Zone. Eine firewalld-Zone kann viele Netzwerkschnittstellen oder Quell-IP-Adressen haben.
Im Verzeichnis /usr/lib/firewalld/zones/ sind die vordefinierten Zonen gespeichert. Beispiel:
> /usr/lib/firewalld/zones ls
block.xml dmz.xml docker.xml drop.xml external.xml home.xml internal.xml nm-shared.xml public.xml trusted.xml work.xmlEinige der Standardeinstellungen der vordefinierten Zonen lauten wie folgt:
-
drop Vertrauensstufe: Absolut nicht vertrauenswürdig.
Verhalten: Alle eingehenden Netzwerkpakete werden ohne Antwort entfernt. Es sind nur ausgehende Verbindungen zulässig, die vom System initiiert wurden. Dies ermöglicht einen „heimlichen“ Modus, in dem das System für externe Angreifer nicht vorhanden zu sein scheint.
Anwendungsfall: Wird für maximale Tarnung und Sicherheit verwendet und ignoriert unerwünschten Datenverkehr vollständig. Eignet sich als strenge Standardeinstellung für einen Server, der niemals eingehende Verbindungen annehmen soll.
-
block Vertrauensstufe: Sehr niedrig.
Verhalten: Alle eingehenden Netzwerkverbindungen werden mit einer Meldung
icmp-host-prohibitedfür IPv4 und einer Meldungicmp6-adm-prohibitedfür IPv6 abgelehnt. Dadurch wird dem Absender mitgeteilt, dass seine Verbindung ausdrücklich abgelehnt wurde. Es sind nur ausgehende Verbindungen möglich, die vom System initiiert wurden.Anwendungsfall: Wird angewendet, wenn Sie Absendern ausdrücklich signalisieren möchten, dass ihre Verbindungsversuche blockiert werden.
-
public Vertrauensstufe: Nicht vertrauenswürdig oder öffentlich.
Verhalten: Stellt öffentliche, nicht vertrauenswürdige Netzwerke dar, in denen Sie anderen Systemen nicht vertrauen. Standardmäßig werden nur ausgewählte eingehende Verbindungen akzeptiert, z. B. SSH-, DHCPv6-Client usw.
Anwendungsfall: Allgemeine Standardzone für Schnittstellen, die direkt mit dem Internet verbunden sind, beispielsweise die WAN-Schnittstelle Ihres Routers. Dazu gehören auch Verbindungen mit einem Netzwerk, bei dem Sie keine Kontrolle über andere Geräte haben.
-
external Vertrauensstufe: Extern mit Masquerading.
Verhalten: Ist für externe Netzwerke vorgesehen, wenn die Firewall als Gateway oder Router fungiert. In der Regel ist das NAT-Masquerading standardmäßig aktiviert. Es werden nur ausgewählte eingehende Verbindungen akzeptiert. Dabei wird angenommen, dass Sie anderen Systemen in diesem Netzwerk nicht vertrauen.
Anwendungsfall: Wird verwendet, wenn Ihr Linux-Computer als Router fungiert und ein internes privates Netzwerk mit dem öffentlichen Internet verbindet. Die externe Schnittstelle wird in dieser Zone platziert, um die interne Netzwerktopologie zu verbergen und internen Clients gleichzeitig den Zugriff auf externe Ressourcen wie das Internet zu ermöglichen.
-
dmz (Demilitarized Zone) Vertrauensstufe: Begrenzter öffentlicher Zugriff.
Verhalten: Für Systeme in einer DMZ-Zone, die öffentlich aufrufbar sind, aber nur begrenzten Zugriff auf das interne Netzwerk haben. Es werden nur ausgewählte eingehende Verbindungen akzeptiert. Die Standardeinstellung umfasst in der Regel SSH und andere Dienste, die Sie bereitstellen.
Anwendungsfall: Eignet sich für öffentlich aufrufbare Server wie Web-, E-Mail- und DNS-Server. Diese Server sind dem Internet absichtlich ausgesetzt, aber von Ihren internen, vertrauenswürdigeren Netzwerken isoliert. Nützlich, wenn Sie Dienste hosten möchten, die über das Internet aufrufbar sein müssen, und gleichzeitig das Risiko für Ihre interne Kerninfrastruktur minimieren möchten.
-
work Vertrauensstufe: Überwiegend vertrauenswürdig (Arbeitsumgebung).
Verhalten: In einer Arbeitsumgebung vertrauen Sie anderen Computern im Netzwerk in der Regel. Lässt ausgewählte eingehende Verbindungen zu, die in einer Arbeitsumgebung üblich sind, z. B. SSH- und DHCPv6-Client.
Anwendungsfall: Eignet sich für Büronetzwerke und Systeme in einem Firmen-LAN.
-
home Vertrauensstufe: Überwiegend vertrauenswürdig (Heimumgebung).
Verhalten: In einer Heimumgebung vertrauen Sie den anderen Systemen im Netzwerk überwiegend. Ermöglicht mehr Dienste als öffentliche oder externe Zonen, häufig einschließlich gängiger Heimnetzwerkdienste wie Dateifreigabe, Medienserver und Drucker sowie SSH- und DHCPv6-Client.
Anwendungsfall: Eignet sich am besten für Heimnetzwerke und kleine Home-Office-Einrichtungen.
-
trusted Vertrauensstufe: Am höchsten.
Verhalten: Alle Netzwerkverbindungen werden ohne Filterung akzeptiert. Für Verbindungen, die dieser Zone zugewiesen sind, wurde keine Firewall implementiert.
Anwendungsfall: Reserviert für Verbindungen mit höchster Vertrauensstufe.
1.2 firewalld-Richtlinien und -Regeln #
firewalld-Richtlinien bieten im Vergleich zu traditionellen Zonen eine fortschrittlichere und flexiblere Möglichkeit zum Verwalten des Netzwerkverkehrs. Sie ermöglichen Ihnen die Definition umfassender Regeln, die Quelle und Ziel des Datenverkehrs, Dienste, Ports und Aktionen wie das Akzeptieren, Ablehnen und Löschen festlegen. Diese Richtlinien sind nützlich, um komplexes Routing und Portweiterleitungen einzurichten oder isolierte Netzwerksegmente innerhalb eines einzelnen Hosts zu erstellen.
firewalld-Richtlinien nutzen Zonen, um Regelsätze zu definieren. Sie wenden Regeln statusbezogen und in eine Richtung an, was bedeutet, dass Sie den Datenverkehrsfluss in eine Richtung definieren und firewalld den Rückpfad implizit zulässt. Diese Richtlinien verknüpfen eine Eingangszone (bei der der Datenverkehr eingeht) mit einer Ausgangszone (bei der der Datenverkehr ausgeht). Dadurch wird der spezifische Pfad und die Richtung definiert, für den oder die die Regeln einer Richtlinie gelten. Sie können die Richtlinien beispielsweise wie folgt anzeigen:
> /usr/lib/firewalld/policies ls
allow-host-ipv6.xmlMithilfe von Firewall-Regeln können Sie den Netzwerkverkehr präzise steuern und ihn zulassen oder blockieren, um Ihr System vor Sicherheitsbedrohungen zu schützen. Firewall-Regeln definieren bestimmte Kriterien anhand verschiedener Attribute wie Quell- und Ziel-IP-Adressen, Ports und Netzwerkschnittstellen. firewalld unterteilt Firewall-Regeln in Zonen und Richtlinien. Jede Zone in firewalld verfügt über einen eindeutigen Regelsatz, der die Datenverkehrsberechtigungen für die zugehörigen Netzwerkschnittstellen vorgibt.
1.3 Dienste und Ports #
Dienste werden empfohlen, wenn ein vordefinierter Dienst verfügbar ist. Anstatt sich beispielsweise zu merken, dass HTTP den TCP-Port 80 verwendet, können Sie einfach den http-Dienst hinzufügen. Dies ist weniger fehleranfällig und einfacher zu verwalten. Verwenden Sie Ports, wenn ein Dienst nicht vordefiniert ist oder wenn Sie einen benutzerdefinierten Port für einen Dienst verwenden. Sie können die aktiven Dienste und Ports für die Standardzonen wie folgt anzeigen:
>sudofirewall-cmd --list-services
>sudofirewall-cmd --list-ports
2 Verwalten von Firewall-Regeln und -Zonen #
Sie können firewalld-Zonen und ihre Regeln mit der grafischen Weboberfläche Cockpit oder dem Dienstprogramm firewall-cmd für die Befehlszeilensteuerung konfigurieren.
2.1 Verwalten von Firewall-Regeln und -Zonen mithilfe des Dienstprogramms firewalld-cmd #
Sie können die Befehlszeilenschnittstelle verwenden, um firewalld-Zonen zu verwalten.
2.1.1 Hinzufügen von firewalld-Zonen #
So fügen Sie eine neue firewalld-Zone hinzu:
Erstellen Sie eine neue Zone. Beispiel:
>sudofirewall-cmd --permanent --new-zone=testLegen Sie die Vertrauensstufe der Zone fest, die das Standardverhalten definiert:
>sudofirewall-cmd --permanent --zone=example --set-target=trustedLaden Sie den
firewalld-Dienst neu, um die neue Konfiguration anzuwenden:>sudofirewall-cmd --reload
2.1.2 Hinzufügen eines Diensts zu einer Zone #
So fügen Sie einen Dienst einer Zone hinzu:
Listen Sie alle Dienste auf, um zu überprüfen, ob Ihr Dienst bereits vordefiniert ist:
>sudofirewall-cmd --get-services0-AD RH-Satellite-6 RH-Satellite-6-capsule afp alvr amanda-client amanda-k5-client amqp amqps anno-1602 anno-1800 apcupsd audit ausweisapp2 bacula bacula-client bareos-director bareos-filedaemon bareos-storage bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-exporter ceph-mon cfengine checkmk-agent civilization-iv civilization-v cockpit collectd condor-collector cratedb ctdb dds dds-multicast dds-unicast dhcp dhcpv6 dhcpv6-client distcc dns dns-over-quic dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server factorio finger foreman foreman-proxy freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp galera ganglia-client ganglia-master git gpsd grafana gre http http3 https ident imap imaps ipfs ipp ipp-client ipsec irc ircs [...]Sie können einen Dienst entweder vorübergehend für die Laufzeitsitzung oder dauerhaft hinzufügen. Beispiel:
>sudofirewall-cmd --zone=public --add-service=http>sudofirewall-cmd --zone=public --permanent --add-service=httpDas
--permanent-Flag stellt sicher, dass die Änderung bei allen Neustarts erhalten bleibt.Laden Sie den
firewalld-Dienst neu, um die neue Konfiguration anzuwenden:>sudofirewall-cmd --reloadÜberprüfen Sie die Ergebnisse:
>sudofirewall-cmd --zone=public --list-services
2.1.3 Hinzufügen eines Ports zu einer Zone #
Wenn Ihre Anwendung keinen vordefinierten Dienst hat, können Sie einen bestimmten Port oder einen Portbereich öffnen.
Sie können einen Port entweder vorübergehend für die Laufzeitsitzung oder dauerhaft hinzufügen. Beispiel:
>sudofirewall-cmd --zone=public --add-port=8080/tcp>sudofirewall-cmd --zone=public --permanent --add-port=8080/tcpDas
--permanent-Flag stellt sicher, dass die Änderung bei allen Neustarts erhalten bleibt.Laden Sie den
firewalld-Dienst neu, um die neue Konfiguration anzuwenden:>sudofirewall-cmd --reloadÜberprüfen Sie die Ergebnisse:
>sudofirewall-cmd --zone=public --list-ports
2.1.4 Löschen von firewalld-Zonen #
So löschen Sie eine Zone:
Überprüfen Sie, dass es sich bei der Zone nicht um die Standardzone handelt und dass sie nicht verwendet wird:
>sudofirewall-cmd --get-default-zoneWenn die Zone verwendet wird oder es sich um die Standardzone handelt, legen Sie eine andere Zone fest. Beispiel:
>sudofirewall-cmd --set-default-zone=NEW_DEFAULT_ZONEÜberprüfen Sie, ob Netzwerkschnittstellen an die Zone gebunden sind:
>sudofirewall-cmd --zone=ZONE_TO_BE_DELETED --list-allDas Feld
interfacesin der Ausgabe listet alle Schnittstellen auf. Diese Schnittstellen müssen einer anderen Zone neu zugewiesen werden. Beispiel:>sudofirewall-cmd --zone=public --permanent --change-interface=ITERFACE_NAMELöschen Sie die Zone:
>sudofirewall-cmd --permanent --delete-zone=ZONE_TO_BE_DELETEDLaden Sie den
firewalld-Dienst neu, um die neue Konfiguration anzuwenden:>sudofirewall-cmd --reload
2.2 Verwalten von Firewall-Regeln und -Zonen mit Cockpit #
Mit Cockpit können Sie neue Zonen erstellen oder bestehende Zonen aktualisieren. In den Firewall-Einstellungen können Sie Dienste zu einer Zone hinzufügen oder den Zugriff auf Ports erlauben.
Entfernen Sie den Cockpit-Dienst nicht aus der Standard-Firewall-Zone, da der Cockpit-Dienst sonst blockiert und die Verbindung zum Server unterbrochen werden könnte.
2.2.1 Hinzufügen von Firewall-Zonen #
Die ist die Standard-Firewall-Zone. Gehen Sie zum Hinzufügen einer neuen Zone wie folgt vor:
Navigieren Sie zur Seite .
Klicken Sie auf .
Klicken Sie auf .
Wählen Sie die aus. Jede Vertrauensstufe von Netzwerkverbindungen hat eine festgelegte Anzahl von Diensten (der Cockpit-Dienst ist in allen Vertrauensstufen enthalten).
Definieren Sie die zulässigen Adressen innerhalb der Zone. Wählen Sie einen der Werte aus:
, um alle Adressen im Teilnetz zuzulassen
: eine kommagetrennte Liste von IP-Adressen mit dem Routing-Präfix, zum Beispiel 192.0.2.0/24, 2001:db8::/32
Fahren Sie mit fort.
2.2.2 Hinzufügen von zulässigen Diensten und Ports zu einer Zone #
Sie können einer bestehenden Firewall-Zone Dienste hinzufügen, wie unten beschrieben:
Navigieren Sie zur Seite .
Klicken Sie auf .
Klicken Sie auf .
Wenn Sie einen Dienst hinzufügen möchten, markieren Sie und wählen Sie die Dienste aus der Liste aus.
Wenn Sie eigene Ports zulassen möchten, markieren Sie und geben Sie den Port-Wert für UDP und/oder TCP an. Sie können diesem Port eine Kennung zuweisen.
Klicken Sie zum Bestätigen der Änderungen auf bzw. .
3 Gängige firewalld-Kommandos #
Das Befehlszeilenwerkzeug firewall-cmd wird zum Konfigurieren und Verwalten des Daemons firewalld verwendet. Es handelt sich um ein leistungsstarkes, dynamisches Dienstprogramm, das das Erstellen, Ändern und Löschen von Firewall-Regeln ermöglicht, ohne dass ein vollständiger Neustart des Diensts erforderlich ist, wodurch eine Unterbrechung aktiver Netzwerkverbindungen verhindert wird.
Einige häufige firewall-cmd-Befehlsbeispiele beinhalten Folgendes:
Überprüfen, ob
firewalldausgeführt wird Die Ausgaben lautenrunning,not runningoderRUNNING_BUT_FAILED. Beispiel:>sudofirewall-cmd --staterunningAuflisten aller verfügbaren Zonen – Beispiel:
>sudofirewall-cmd --get-zonesblock dmz docker drop external home internal nm-shared public trusted workAnzeigen der Standardzone – Beispiel:
>sudofirewall-cmd --get-default-zonepublicAnzeigen der aktiven Zonen und der zugewiesenen Zonen– Beispiel:
>sudofirewall-cmd --get-active-zonesdocker interfaces: docker0 public (default) interfaces: lo enp1s0Anzeigen aller Regeln für die Standardzone – Beispiel:
>sudofirewall-cmd --list-allpublic (default, active) target: default ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: enp1s0 lo sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.1.100" service name="ssh" acceptAnzeigen aller Regeln für eine bestimmte Zone – Beispiel:
>sudofirewall-cmd --zone=public --list-allpublic (default, active) target: default ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: enp1s0 lo sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.1.100" service name="ssh" acceptAuflisten aller verfügbaren vordefinierten Dienste – Beispiel:
>sudofirewall-cmd --get-services0-AD RH-Satellite-6 RH-Satellite-6-capsule afp alvr amanda-client amanda-k5-client amqp amqps anno-1602 anno-1800 apcupsd audit ausweisapp2 bacula bacula-client bareos-director bareos-filedaemon bareos-storage bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-exporter ceph-mon cfengine checkmk-agent civilization-iv civilization-v cockpit collectd condor-collector cratedb ctdb dds dds-multicast dds-unicast dhcp dhcpv6 dhcpv6-client distcc dns dns-over-quic dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server factorio finger foreman foreman-proxy freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp galera ganglia-client ganglia-master git gpsd grafana gre http http3 https ident imap imaps ipfs ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-api kube-apiserver kube-control-plane kube-control-plane-secure kube-controller-manager kube-controller-manager-secure kube-nodeport-services kube-scheduler kube-scheduler-secure [...]Auflisten der derzeit in der Standardzone zulässigen Dienste – Beispiel:
>sudofirewall-cmd --list-servicescockpit dhcpv6-client sshDauerhaftes Hinzufügen eines Diensts zur Standardzone – Beispiel:
>sudofirewall-cmd --permanent --add-service=httpsuccessDauerhaftes Entfernen eines Diensts – Beispiel:
>sudofirewall-cmd --permanent --remove-service=httpsuccessAuflisten der derzeit in der Standardzone offenen Ports – Beispiel:
>sudofirewall-cmd --list-ports22/tcpVorübergehendes Öffnen eines bestimmten TCP-Ports – Beispiel:
>sudofirewall-cmd --add-port=8080/tcpsuccessDauerhaftes Entfernen eines offenen Ports – Beispiel:
>sudofirewall-cmd --permanent --remove-port=8080/tcpsuccessVorübergehendes Hinzufügen einer Schnittstelle zu einer bestimmten Zone – Beispiel:
>sudofirewall-cmd --zone=trusted --add-interface=eth1success
4 Fehlerbehebung für firewalld #
Die Fehlerbehebung von firewalld beinhaltet die Überprüfung des Status, die Überprüfung der Regeln und den Neustart oder das Neuladen des Diensts. Wenn Sie Probleme feststellen, können Sie das Debugging aktivieren, Protokolle prüfen und Firewall-Regeln bei Bedarf anpassen.
4.1 Überprüfen des firewalld-Status #
Verwenden Sie den Befehl
systemctl status. Beispiel:>sudosystemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset: enabled) Active: active (running) since Thu 2025-07-17 09:47:36 CEST; 5min ago Invocation: a7ea482f16d2431fa92d6204c297ebd9 Docs: man:firewalld(1) Main PID: 921 (firewalld) Tasks: 2 CPU: 262ms CGroup: /system.slice/firewalld.service └─921 /usr/bin/python3.13 /usr/sbin/firewalld --nofork --nopidDer Befehl
firewall-cmd --statebietet eine schnelle Statusprüfung mit den Ausgabenrunning,not runningoderRUNNING_BUT_FAILED. Beispiel:>sudofirewall-cmd --staterunningWenn
firewalldnicht ausgeführt wird, verwenden Sie den Befehlsystemctl start firewalld.>sudosystemctl start firewalldWenn der
firewalld-Dienst maskiert ist, demaskieren Sie ihn zunächst, aktivieren und starten Sie ihn dann. Beispiel:>sudosystemctl unmask --now firewalld>sudosystemctl enable firewalld>sudosystemctl start firewalld
4.2 Überprüfen von firewalld-Regeln #
Der Befehl
firewall-cmd --list-all-zoneszeigt alle Zonen und ihre Regeln an. Beispiel:>sudofirewall-cmd --list-all-zonesblock target: %%REJECT%% ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: sources: services: ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: dmz target: default ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: sources: services: ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: docker (active) target: ACCEPT ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no [...]Der Befehl
firewall-cmd --list-portszeigt offene Ports an. Beispiel:>sudofirewall-cmd --list-ports22/tcpDer Befehl
firewall-cmd --zone=YOUR_ZONE --list-all.listet Ports für bestimmte Zonen auf. Beispiel:>sudofirewall-cmd --zone=dmz --list-alldmz target: default ingress-priority: 0 egress-priority: 0 icmp-block-inversion: no interfaces: sources: services: ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
4.3 Debugging von firewalld #
Aktivieren Sie das Debugging in
/etc/sysconfig/firewallddurch Hinzufügen von‑‑debug=[level]zuFIREWALLD_ARGS. Beispiel:>sudovi /etc/sysconfig/firewalld # firewalld command line args # possible values: --debug FIREWALLD_ARGS=--debug=[level]Starten Sie
firewalldmit der Option--debug. Beispiel:>sudofirewalld --nofork --debug2025-07-23 11:10:05 DEBUG1: start() 2025-07-23 11:10:05 DEBUG1: Loading firewalld config file '/etc/firewalld/firewalld.conf' 2025-07-23 11:10:05 DEBUG1: CleanupOnExit is set to 'True' 2025-07-23 11:10:05 DEBUG1: CleanupModulesOnExit is set to 'False' 2025-07-23 11:10:05 DEBUG1: IPv6 rpfilter is enabled 2025-07-23 11:10:05 DEBUG1: LogDenied is set to 'off' 2025-07-23 11:10:05 DEBUG1: FirewallBackend is set to 'nftables' 2025-07-23 11:10:05 DEBUG1: FlushAllOnReload is set to 'False' 2025-07-23 11:10:05 DEBUG1: RFC3964_IPv4 is set to 'True' 2025-07-23 11:10:05 DEBUG1: NftablesFlowtable is set to 'off' 2025-07-23 11:10:05 DEBUG1: NftablesCounters is set to 'False' 2025-07-23 11:10:05 DEBUG1: Loading lockdown whitelist 2025-07-23 11:10:05 ipset not usable, disabling ipset usage in firewall. Other set backends (nftables) remain usable. 2025-07-23 11:10:05 iptables-restore and iptables are missing, IPv4 direct rules won't be usable. 2025-07-23 11:10:05 ip6tables-restore and ip6tables are missing, IPv6 direct rules won't be usable. 2025-07-23 11:10:05 ebtables-restore and ebtables are missing, eb direct rules won't be usable. 2025-07-23 11:10:05 DEBUG1: Loading icmptype file '/usr/lib/firewalld/icmptypes/address-unreachable.xml' 2025-07-23 11:10:05 DEBUG1: Loading icmptype file '/usr/lib/firewalld/icmptypes/bad-header.xml' 2025-07-23 11:10:05 DEBUG1: Loading icmptype file '/usr/lib/firewalld/icmptypes/beyond-scope.xml' 2025-07-23 11:10:05 DEBUG1: Loading icmptype file '/usr/lib/firewalld/icmptypes/communication-prohibited.xml' 2025-07-23 11:10:05 DEBUG1: Loading icmptype file '/usr/lib/firewalld/icmptypes/destination-unreachable.xml' [...]Alle Protokolldateien sind unter
/var/log/firewalldverfügbar.
5 Weitere Informationen #
Weitere Informationen zu firewalld finden Sie in den folgenden Ressourcen:
6 Rechtliche Hinweise #
Copyright © 2006–2025 , SUSE LLC und Mitwirkende. Alle Rechte vorbehalten.
Es wird die Genehmigung erteilt, dieses Dokument unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder (optional) Version 1.3 zu vervielfältigen, zu verbreiten und/oder zu verändern; die unveränderlichen Abschnitte hierbei sind der Urheberrechtshinweis und die Lizenzbedingungen. Eine Kopie dieser Lizenz (Version 1.2) finden Sie in Abschnitt „GNU Free Documentation License“.
Die SUSE Marken finden Sie in https://www.suse.com/company/legal/. Alle anderen Marken von Drittanbietern sind Besitz ihrer jeweiligen Eigentümer. Markensymbole (®, ™ usw.) kennzeichnen Marken von SUSE und ihren Tochtergesellschaften. Sternchen (*) kennzeichnen Marken von Drittanbietern.
Alle Informationen in diesem Buch wurden mit größter Sorgfalt zusammengestellt. Auch hierdurch kann jedoch keine hundertprozentige Richtigkeit gewährleistet werden. Weder SUSE LLC noch ihre Tochtergesellschaften noch die Autoren noch die Übersetzer können für mögliche Fehler und deren Folgen haftbar gemacht werden.