Die IPSet Funktionalität von firewalld erlaubt die Zusammenfassung von Netzwerken zur einfachen und nachvollziehbaren Konfiguration.
Dazu wird zunächst ein neues IPset angelegt:
firewall-cmd --permanent --new-ipset=my-clients --type=hash:net
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
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
Die IPsets kann man sich daraufhin anzeigen lassen:
firewall-cmd --get-ipsets
firewall-cmd --info-ipset=my-clients
Den Inhalt des erstellten und definierten IPSets kann man sich nun ebenfalls ausgeben lassen:
firewall-cmd --permanent --ipset=my-clients --get-entries
Abschliessend lassen sich die zuvor erstellten Regeln wie folgt anzeigen:
firewall-cmd --list-all
Hi,
Danke für den tollen Tipp. Kurz, knackig, auf den Punkt und hilfreich.
Viele Grüße Jörg