<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Firewalld_mit_Rocky</id>
	<title>Firewalld mit Rocky - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Firewalld_mit_Rocky"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Firewalld_mit_Rocky&amp;action=history"/>
	<updated>2026-06-28T18:32:56Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Firewalld_mit_Rocky&amp;diff=70288&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= firewalld =  firewalld ist der Standard-Paketfilter unter Rocky Linux. Er arbeitet als Frontend für nftables und verwaltet Firewall-Regeln über das Konzept…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Firewalld_mit_Rocky&amp;diff=70288&amp;oldid=prev"/>
		<updated>2026-05-20T17:07:29Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= firewalld =  firewalld ist der Standard-Paketfilter unter Rocky Linux. Er arbeitet als Frontend für nftables und verwaltet Firewall-Regeln über das Konzept…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= firewalld =&lt;br /&gt;
&lt;br /&gt;
firewalld ist der Standard-Paketfilter unter Rocky Linux. Er arbeitet als Frontend für nftables und verwaltet Firewall-Regeln über das Konzept von Zonen. Anders als bei klassischen iptables-Regeln die sofort verloren gehen wenn man einen Fehler macht, unterscheidet firewalld zwischen laufenden und permanenten Regeln – eine wichtige Sicherheit im Laborbetrieb.&lt;br /&gt;
&lt;br /&gt;
= Konzepte =&lt;br /&gt;
&lt;br /&gt;
== Zonen ==&lt;br /&gt;
&lt;br /&gt;
Eine Zone definiert das Vertrauensniveau eines Netzwerks. Jedes Interface wird einer Zone zugeordnet – darüber entscheidet firewalld welche Regeln gelten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Zone !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| drop || Alle eingehenden Pakete werden verworfen – keine Antwort&lt;br /&gt;
|-&lt;br /&gt;
| block || Eingehende Pakete werden mit icmp-host-prohibited abgelehnt&lt;br /&gt;
|-&lt;br /&gt;
| public || Öffentliche Netze – nur ausgewählte Dienste erlaubt – Standard&lt;br /&gt;
|-&lt;br /&gt;
| external || Externe Netze mit Masquerading – für Router&lt;br /&gt;
|-&lt;br /&gt;
| dmz || Demilitarisierte Zone – eingeschränkter Zugriff&lt;br /&gt;
|-&lt;br /&gt;
| work || Arbeitsnetze – mehr Vertrauen als public&lt;br /&gt;
|-&lt;br /&gt;
| home || Heimnetze – noch mehr Vertrauen&lt;br /&gt;
|-&lt;br /&gt;
| internal || Interne Netze – hohes Vertrauen&lt;br /&gt;
|-&lt;br /&gt;
| trusted || Alle Verbindungen erlaubt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Laufend vs. Permanent ==&lt;br /&gt;
&lt;br /&gt;
;--permanent: Regel wird dauerhaft gespeichert – gilt nach reload und Reboot&lt;br /&gt;
;ohne --permanent: Regel gilt nur bis zum nächsten reload oder Reboot&lt;br /&gt;
&lt;br /&gt;
;Nach permanenten Änderungen immer reload ausführen&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
== Policies ==&lt;br /&gt;
&lt;br /&gt;
;In modernem firewalld (ab 0.9) regeln Policies den Verkehr zwischen Zonen – ohne Policy wird Forwarding zwischen Zonen standardmäßig geblockt. Das ist der richtige Weg für Router und Firewalls mit mehreren Interfaces.&lt;br /&gt;
&lt;br /&gt;
= Installation und Start =&lt;br /&gt;
&lt;br /&gt;
;firewalld ist auf Rocky meist vorinstalliert&lt;br /&gt;
* dnf install -y firewalld&lt;br /&gt;
* systemctl enable --now firewalld&lt;br /&gt;
&lt;br /&gt;
= Grundlegende Befehle =&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
* firewall-cmd --state&lt;br /&gt;
 running&lt;br /&gt;
* systemctl status firewalld&lt;br /&gt;
&lt;br /&gt;
== Zonen anzeigen ==&lt;br /&gt;
;Alle verfügbaren Zonen&lt;br /&gt;
* firewall-cmd --get-zones&lt;br /&gt;
;Standard-Zone anzeigen&lt;br /&gt;
* firewall-cmd --get-default-zone&lt;br /&gt;
;Standard-Zone setzen&lt;br /&gt;
* firewall-cmd --set-default-zone=public&lt;br /&gt;
;Alle aktiven Zonen mit Interfaces&lt;br /&gt;
* firewall-cmd --get-active-zones&lt;br /&gt;
&lt;br /&gt;
== Zone im Detail anzeigen ==&lt;br /&gt;
* firewall-cmd --list-all&lt;br /&gt;
* firewall-cmd --list-all --zone=dmz&lt;br /&gt;
&lt;br /&gt;
= Interfaces und Zonen =&lt;br /&gt;
&lt;br /&gt;
== Interface einer Zone zuweisen ==&lt;br /&gt;
;Über firewall-cmd – nicht reproduzierbar nach Reboot wenn NetworkManager die Zone überschreibt&lt;br /&gt;
* firewall-cmd --permanent --zone=external --change-interface=enp0s3&lt;br /&gt;
&lt;br /&gt;
;Besser: Zone über NetworkManager setzen – gilt dauerhaft&lt;br /&gt;
* nmcli connection modify enp0s3 connection.zone external&lt;br /&gt;
* nmcli connection up enp0s3&lt;br /&gt;
&lt;br /&gt;
= Dienste =&lt;br /&gt;
&lt;br /&gt;
;firewalld kennt vordefinierte Dienste – sie bündeln Port und Protokoll unter einem Namen&lt;br /&gt;
&lt;br /&gt;
== Dienste anzeigen ==&lt;br /&gt;
;Alle verfügbaren Dienste&lt;br /&gt;
* firewall-cmd --get-services&lt;br /&gt;
;Freigegebene Dienste in einer Zone&lt;br /&gt;
* firewall-cmd --list-services --zone=public&lt;br /&gt;
&lt;br /&gt;
== Dienst freigeben ==&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-service=http&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-service=https&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-service=ssh&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
== Dienst sperren ==&lt;br /&gt;
* firewall-cmd --permanent --zone=public --remove-service=http&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
== Eigenen Dienst definieren ==&lt;br /&gt;
;Für Dienste die firewalld nicht kennt – z.B. einen eigenen Port&lt;br /&gt;
* firewall-cmd --permanent --new-service=meinservice&lt;br /&gt;
* firewall-cmd --permanent --service=meinservice --add-port=8080/tcp&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-service=meinservice&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
= Ports =&lt;br /&gt;
&lt;br /&gt;
;Einzelne Ports direkt freigeben – ohne Dienst-Definition&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-port=8080/tcp&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-port=53/udp&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
;Port entfernen&lt;br /&gt;
* firewall-cmd --permanent --zone=public --remove-port=8080/tcp&lt;br /&gt;
&lt;br /&gt;
= Protokolle =&lt;br /&gt;
&lt;br /&gt;
;Protokolle wie ICMP direkt freigeben – für ping im Laborbetrieb&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-protocol=icmp&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
= Masquerading =&lt;br /&gt;
&lt;br /&gt;
;Masquerading ersetzt die Quell-IP ausgehender Pakete durch die externe IP – notwendig für NAT/Routing&lt;br /&gt;
* firewall-cmd --permanent --zone=external --add-masquerade&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
;Masquerading prüfen&lt;br /&gt;
* firewall-cmd --query-masquerade --zone=external&lt;br /&gt;
&lt;br /&gt;
= Rich Rules =&lt;br /&gt;
&lt;br /&gt;
;Rich Rules erlauben komplexere Regeln – z.B. Zugriff nur auf eine bestimmte Ziel-IP oder aus einem bestimmten Quellnetz&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rule family=&amp;quot;ipv4&amp;quot;&lt;br /&gt;
  [source address=&amp;quot;IP/Maske&amp;quot;]&lt;br /&gt;
  [destination address=&amp;quot;IP/Maske&amp;quot;]&lt;br /&gt;
  [service name=&amp;quot;dienst&amp;quot; | port port=&amp;quot;PORT&amp;quot; protocol=&amp;quot;tcp|udp&amp;quot;]&lt;br /&gt;
  [accept | drop | reject]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&lt;br /&gt;
;DNS nur auf einen bestimmten Server erlauben&lt;br /&gt;
* firewall-cmd --permanent --zone=dmz --add-rich-rule='rule family=&amp;quot;ipv4&amp;quot; destination address=&amp;quot;10.88.2XX.21&amp;quot; service name=&amp;quot;dns&amp;quot; accept'&lt;br /&gt;
&lt;br /&gt;
;HTTP nur aus einem bestimmten Netz&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-rich-rule='rule family=&amp;quot;ipv4&amp;quot; source address=&amp;quot;192.168.1.0/24&amp;quot; service name=&amp;quot;http&amp;quot; accept'&lt;br /&gt;
&lt;br /&gt;
;SSH nach 3 Fehlversuchen sperren&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-rich-rule='rule service name=&amp;quot;ssh&amp;quot; limit value=&amp;quot;3/m&amp;quot; accept'&lt;br /&gt;
&lt;br /&gt;
;IP-Adresse komplett sperren&lt;br /&gt;
* firewall-cmd --permanent --zone=public --add-rich-rule='rule family=&amp;quot;ipv4&amp;quot; source address=&amp;quot;1.2.3.4&amp;quot; drop'&lt;br /&gt;
&lt;br /&gt;
= Policies =&lt;br /&gt;
&lt;br /&gt;
;Policies regeln den Verkehr zwischen Zonen – notwendig für Forwarding in Router-Setups&lt;br /&gt;
&lt;br /&gt;
== Policy anlegen ==&lt;br /&gt;
;LAN → WAN mit Masquerading&lt;br /&gt;
* firewall-cmd --permanent --new-policy lan-to-wan&lt;br /&gt;
* firewall-cmd --permanent --policy lan-to-wan --add-ingress-zone internal&lt;br /&gt;
* firewall-cmd --permanent --policy lan-to-wan --add-egress-zone external&lt;br /&gt;
* firewall-cmd --permanent --policy lan-to-wan --set-target ACCEPT&lt;br /&gt;
* firewall-cmd --permanent --policy lan-to-wan --add-masquerade&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
== Policy anzeigen ==&lt;br /&gt;
* firewall-cmd --info-policy lan-to-wan&lt;br /&gt;
* firewall-cmd --get-policies&lt;br /&gt;
&lt;br /&gt;
= Logging =&lt;br /&gt;
&lt;br /&gt;
;Blockierte Pakete protokollieren – nützlich zur Fehlersuche&lt;br /&gt;
* firewall-cmd --set-log-denied=all&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
;Logs anzeigen&lt;br /&gt;
* journalctl -f | grep REJECT&lt;br /&gt;
* journalctl -f | grep filter_FWD&lt;br /&gt;
&lt;br /&gt;
;Logging wieder deaktivieren&lt;br /&gt;
* firewall-cmd --set-log-denied=off&lt;br /&gt;
* firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
= Kontrolle =&lt;br /&gt;
&lt;br /&gt;
;Alle Zonen prüfen&lt;br /&gt;
* firewall-cmd --list-all --zone=external&lt;br /&gt;
* firewall-cmd --list-all --zone=dmz&lt;br /&gt;
* firewall-cmd --list-all --zone=internal&lt;br /&gt;
&lt;br /&gt;
;Alle Policies prüfen&lt;br /&gt;
* firewall-cmd --info-policy lan-to-wan&lt;br /&gt;
* firewall-cmd --info-policy dmz-to-wan&lt;br /&gt;
&lt;br /&gt;
;Direkt in nftables schauen – zeigt was firewalld wirklich konfiguriert hat&lt;br /&gt;
* nft list ruleset&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>