[[https://firewalld.org/|firewalld]] ist ein von Red Hat entwickelter Firewall-Daemon. Er verwendet standardmäßig nftables.
Firewalld bietet eine dynamisch verwaltete Firewall mit Unterstützung für Netzwerk-/Firewall-Zonen, die den Vertrauensgrad von Netzwerkverbindungen oder Schnittstellen definieren. Es bietet Unterstützung für IPv4- und IPv6-Firewall-Einstellungen, Ethernet-Brücken und IP-Sets. Es gibt eine Trennung von Laufzeit- und permanenten Konfigurationsoptionen. Es bietet auch eine Schnittstelle für Dienste oder Anwendungen, um Firewall-Regeln direkt hinzuzufügen.
===== Pakete =====
<code>
pacman -S firewalld ipset
</code>
===== Start =====
<code>
systemctl enable --now firewalld.service
</code>
===== Add & remove =====
Nach jeder Änderung sollte firewalld immer neu gestartet werden:
<alert type="info" icon="fa fa-info-circle">Überprüfe die Namen deiner Schnittstelle/n mit ''%%ip -o addr show scope global | awk '{print $2}'%%''.</alert>
==== service ====
Prüfe, ob der gewünschte Service bereits verfügbar ist ''ls /usr/lib/firewalld/services/'' oder ''ls /usr/lib/firewalld/services/ | grep 'DEIN-SERVICE''. Andernfalls musst du deine [[#selbst_erstellen|eigenen erstellen]].
<alert type="info" icon="fa fa-info-circle">Überprüfe die Namen deiner Schnittstelle/n mit ''%%ip -o addr show scope global | awk '{print $2}'%%''.</alert>
==== services ====
<code>
firewall-cmd --get-services
firewall-cmd --list-services --zone=home
firewall-cmd --info-service DEIN-SERVICE
</code>
**Selbst erstellt**:
<code>
ls /etc/firewalld/services/
</code>
**Vorgegebene**:
<code>
ls /usr/lib/firewalld/services/
</code>
==== ports ====
<code>
firewall-cmd --list-ports --zone=home
</code>
==== rich rules ====
<code>
firewall-cmd --list-rich-rules --zone=home
</code>
==== policies ====
<code>
ls /usr/lib/firewalld/policies/
ls /etc/firewalld/policies/
</code>
===== Desktop tray =====
Nur wenn du eine Desktop-Umgebung auf deinem Server oder für deinen Desktop-Computer betreibst.
Die GUI kann auch hilfreich sein, wenn Sie Zonen an bestimmten Netzwerkstandorten schnell ändern müssen.
<code>
firewall-applet
</code>
<code>
nano ~/.config/firewall/applet.conf
</code>
<code>
[General]
notifications=true
show-inactive=true
</code>
===== Ändere runtime zu permanent =====
Die permanente Option ''%%--permanent%%'' kann verwendet werden, um Optionen dauerhaft zu setzen. Diese Änderungen werden nicht sofort wirksam, sondern erst nach einem Neustart/Neuladen des Dienstes oder einem Neustart des Systems. Ohne die Option ''%%--permanent%%'' wird eine Änderung nur Teil der Laufzeitkonfiguration (''%%--runtime%%'') sein.