ipset verwaltet Mengen von IP-Adressen, Netzen oder Ports im Kernel. Firewall-Regeln von iptables, nftables und firewalld können auf diese Mengen verweisen, statt jede Adresse einzeln aufzulisten — das macht Sperrlisten und Blocklisten schnell und übersichtlich.
Menge anlegen und befüllen
sudo ipset create blockliste hash:ip
sudo ipset add blockliste 203.0.113.5
sudo ipset add blockliste 198.51.100.0/24
sudo ipset test blockliste 203.0.113.5
sudo ipset list blockliste
Der Typ hash:ip speichert einzelne Adressen, hash:net auch ganze Netze. Mit timeout 300 laufen Einträge automatisch ab — praktisch für temporäre Sperren.
In Firewall-Regeln verwenden
sudo iptables -I INPUT -m set --match-set blockliste src -j DROP
sudo nft add rule inet filter input ip saddr @blockliste drop
Speichern und Wiederherstellen
sudo ipset save > /etc/ipset.rules
sudo ipset restore < /etc/ipset.rules
sudo ipset destroy blockliste
Automatische Sperren setzt fail2ban: Es kombiniert ipset-Mengen mit Loganalyse und bannt IP-Adressen nach fehlgeschlagenen Anmeldeversuchen.
Verwandte Grundlagen: iptables-Befehle, nftables-Befehle und firewalld-Befehle.