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.