eric-leblond-petitIptables et Netfilter sont apparus en 2001 en même temps que Linux 2.4 dont ils constituent la couche pare-feu. Leurs fonctionnalité et leur codes ont connu des évolutions lors de cette décennie mais rien de comparable à ce qui a été entrepris avec nftables.

La motivation de ce changement est de dépasser les limites d’iptables qui commencait à dater tant au niveau foncionnel qu’au niveau du désign de code : problème lié au système de mise à jour des règles (très couteux lorsque le nombre de règles augmente ce qui est devenu un problème pour gérer des jeux de règles non statiques), duplication du code, problématique pour la maintenance du code et pour les utilisateurs.

Nftables est un remplaçant d’iptables qui a été développé depuis 2008 par Patrick McHardy qui est à la tête du projet Netfilter. Après une période de sommeil, les développements autour du projet ont repris en 2012 et toute une équipe de développeurs s’est formée et travaille sur le projet.

Nftables règle le problème de performance des mises à jour en utilisant une communication par message entre le noyau et l’espace utilisateur. L’infrastructure Netlink a été utilisée car elle est à la base des dernières évolutions majeures de Netfilter.

Les changements les plus notables :

  • mise à jour des règles incrémentale et atomique garantissant la performance et la cohérence du jeu de règles
  • expression des règles à l’aide d’une pseudo machine permettant des opérations complexes évitant l’écriture de modules noyau supplémentaires et d’extensions

Nftables dépasse les limitations d’iptables et apporte des nouveautés qui devraient permettre de résoudre de manière élégante et performante bon nombre de problèmes. Le travail effectué est déjà conséquent et seule la bibliothèque de haut niveau n’a pas encore été développée.  Compte tenu du travail restant, une première version officielle est envisagée pour fin 2013.

Eric Leblond, OISF

Laisser un commentaire