nftables
nftables : interface de configuration de Netfilter qui remplace iptables, entrée dans le noyau 3.13 en 2014, utilisée par défaut par Debian depuis la version 10 et par Red Hat depuis RHEL 8. Un seul outil, nft, aucune table ni chaîne prédéfinie (on les déclare, en les rattachant à un crochet avec une priorité), et une famille inet qui couvre IPv4 et IPv6 dans la même table : la politique ne s'écrit qu'une fois.
Sur Debian, la politique vit dans /etc/nftables.conf, chargé au démarrage par nftables.service. On la vérifie sans l'appliquer avec nft -c -f /etc/nftables.conf, on l'applique avec nft -f, qui charge tout le fichier en une transaction (pas d'état intermédiaire ouvert ou fermé), et on lit l'état réel avec nft list ruleset (-a pour les numéros de règle). Les ensembles (set) rendent une liste de milliers d'adresses aussi rapide qu'une seule règle et se modifient sans recharger ; ct state vmap { established : accept, related : accept, invalid : drop } résume l'ouverture d'un pare-feu à état ; limit rate et log prefix limitent et journalisent ; nft monitor trace suit un paquet règle par règle.
Ce qu'écrivent ufw, Docker ou fail2ban par iptables-nft apparaît aussi dans nft list ruleset. Piège sur un hôte Docker : un flush ruleset en tête du fichier efface aussi les tables de Docker ; on préfère supprimer sa seule table (destroy table inet filtre). Kube-proxy dispose d'un mode nftables, stable depuis Kubernetes 1.33.
Dans les cours
- Linux : administration système, leçon 8 : Le pare-feu de l'hôte
- Kubernetes : réseau et exposition, leçon 4 : kube-proxy et ses alternatives
- Le modèle TCP/IP, leçon 7 : La traduction d'adresses (NAT)