Dans cette nouvelle série d’articles nous allons étudier Nftables, le successeur d’Iptables…
A travers des exemples, nous allons couvrir différents concepts, allant de quelque chose de simple à un truc complexe comme je les aime 😉
Mais avant tout, petit rappel :
Dans le noyau linux, ce qui gère les paquets réseau, c’est Netfilter. Et il peut faire plein de trucs, modification de paquets, filtrage, etc…
Avec, on peut monter un Firewall ou bien encore un routeur qui fait du NAT.
Depuis la nuit des temps (ou presque), pour travailler sur Netfilter, on avait l’habitude d’utiliser Iptables qu’on connait bien et qui fait parti d’un framework complet. Et oui, Iptables n’est pas le seul logiciel du framework, il existe ip6tables, arptables, etc…
Mais Iptables a des défauts et Nftables a bien l’intention de les combler.
Iptables, sur notre fidèle Debian 10, on peut encore tout à fait s’en servir en sortie d’usine.
Ou du moins en avoir l’impression…. Car ce qu’on ignore c’est qu’en fait, Nftables agit déjà, tapi dans l’ombre…
Sommaire
I – Présentation de Nftables
Nftables est un nouveau framework qui regroupe les anciens outils en une unique commande. La syntaxe change, y’a de nouvelles possibilités, on va regarder tout cela petit à petit.
Comme je vous le disais en préambule, Iptables est toujours la mais si vous faites :
# iptables -V iptables v1.8.2 (nf_tables)
L’iptable qu’on utilise est en fait un wrapper vers nftables.
Par contre, si on veut utiliser l’outil nftables et sa nouvelle syntaxe, on doit installer au préalable :
# apt install nftables
Et la, on peut faire :
# nft list ruleset
et constater que toutes nos anciennes règles sont en fait déjà traduites en syntaxe nftables.
Nous, ce qu’on va faire, c’est qu’on va tout recommencer en partant d’une base neuve, en reprenant la nouvelle syntaxe et en adoptant les nouveautés.
II – Sommaire
II – Manipulation des tables, chaines et règles
IV – Mise en œuvre dans le cadre d’un routeur
V – Optimisation