Nftables

De Justine's wiki
Aller à la navigation Aller à la recherche

Explications

Voir les articles Firewall et IPTables pour des explications généralistes sur les fw ainsi que sur les hooks netfilter. Sources

Nftables est un sous-système de Linux ayant des fonctionnalités similaires à celles de IPtables, c'est-à-dire de pare-feu. A partir de Debian 11 "Bullseye", celui-ci remplace IPtables qui était le pare-feu "historique". Il remplace également de façon générale la portion "iptables" de netfilter. Ses principales différences avec IPtables sont:

  • Une autre syntaxe : nftables utilise une syntaxe à base d'arguments avec un seul tiret (-argument) inspirée de tcpdump. Je ne sais pas si c'est un avantage de ne rien faire comme les autres...
  • Les tables et les chaînes sont entièrement configurables. Contrairement à IPtables qui a des tables pré-configurées (qui peuvent atteindre aux performances), chaînes et tables ne sont pas pré-définis. C'est à nous de tout définir.
  • Une seule règle nft peut entraîner plusieurs actions : une règle nft consiste en 0 ou plus expressions suivies d'une ou plusieurs actions. Chaque expression teste si un paquet matche avec une payload spécifique; les expressions sont évaluées linéairement de gauche à droite. Si l'expression 1 matche, on passe à la 2, etc; et si toutes les expressions matchent, on exécute les statements. De même, les statements son évalués de gauche à droite.
  • Pas de compteur préétablis : ils sont optionnels. On a pas un forcément un compteur par chaîne et par règle.
  • Les mises à jour de règles sont plus simples : IPtables utilisait un gros blob avec toutes les règles dedans, et il fallait relancer le pare-feu à chaque changement. Ici, les règles se font sous la forme de listes chaînées. On peut mettre à jour une règle sans couper tout le reste.
  • L'administration de double stack ipv4 / ipv6 est simplifiée. On peut enregistrer des chaînes de base qui gère eà la fois les deux versions d'IP.

Et d'autres trucs que moi j'ai pas compris. Ils parlent également d'une approche du fw qui serait détachée du kernel, afin de pouvoir ajouter des protocoles à nft sans mettre à jour le kernel. Ils parlent également "d'approche machine virtuelle".