← retour aux snippets

ipset: listes d'IPs performantes pour iptables

Créer un set d'adresses et l'utiliser dans une règle iptables pour matcher rapidement.

objectif

Gérer des collections d’IPs en masse sans ralentir iptables.

code minimal

sudo ipset create blacklist hash:ip family inet
sudo iptables -I INPUT -m set --match-set blacklist src -j DROP

utilisation

# ajouter/retirer
sudo ipset add blacklist 203.0.113.5
sudo ipset del blacklist 203.0.113.5

# persister
sudo ipset save > /etc/ipset.conf

variante(s) utile(s)

# CIDR et timeouts
sudo ipset create tempban hash:net timeout 3600
sudo ipset add tempban 198.51.100.0/24 timeout 600

notes

  • plus rapide que des dizaines de règles iptables individuelles.
  • recharge via ipset restore < /etc/ipset.conf.