← retour aux snippets

nftables: set avec timeout pour blackhole temporaire

Créer un set avec expiration automatique et l'utiliser pour dropper du trafic.

bash security #nftables#set#timeout

objectif

Bloquer une IP temporairement (minutes) sans maintenir manuellement des règles.

code minimal

sudo nft add table inet filter
sudo nft add set inet filter tempban { type ipv4_addr; timeout 1h; }
sudo nft add chain inet filter input { type filter hook input priority 0; }
sudo nft add rule inet filter input ip saddr @tempban drop

utilisation

# ajouter une IP pour 10 minutes
sudo nft add element inet filter tempban { 203.0.113.5 timeout 10m }

variante(s) utile(s)

# lister
sudo nft list set inet filter tempban

notes

  • nécessite un kernel supportant les timeouts sur sets.
  • pratique pour bricoler un mini-fail2ban maison.