IPSets mit firewalld

Mo, 20. Februar 2023, Lioh Möller

Die IPSet Funktionalität von firewalld erlaubt die Zusammenfassung von Netzwerken zur einfachen Konfiguration.



Dazu wird zunächst ein neues IPset angelegt:

firewall-cmd --permanent --new-ipset=my-clients --type=hash:net

Dieses kann man sich daraufhin anzeigen lassen:

firewall-cmd --get-ipsets
firewall-cmd --info-ipset=my-clients

Zum jetzigen Zeitpunkt enthält das IPset noch keine Netzwerkdefinitionen. Wie folgt können Subnetze hinzugefügt werden:

firewall-cmd --permanent --ipset=my-clients --add-entry=192.168.100.0/24
firewall-cmd --permanent --ipset=my-clients --add-entry=192.168.120.0/24
firewall-cmd --permanent --ipset=my-clients --add-entry=192.168.121.0/26

Den Inhalt des erstellten und definierten IPSets kann man sich nun ausgeben lassen:

firewall-cmd --permanent --ipset=my-clients --get-entries

IPsets können an unterschiedlichen Stellen zum Einsatz kommen, beispielsweise bei der Verwendung von Rich-Rules:

firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=my-clients port port=12345 protocol=tcp accept'
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=my-clients service name=ssh accept'

Nach den Änderungen müssen diese angewendet werden:

firewall-cmd --reload

Abschliessend lassen sich die zuvor erstellten Regeln ausgeben:

firewall-cmd --list-all

Tags

Firewall, firewalld