GNU/Linux >> Tutoriels Linux >  >> Linux

Bonjour nftables, au revoir iptables

Le pare-feu sous Linux fait peau neuve.

Oui, vous avez bien lu. L'outil de pare-feu qui a été détesté ou adoré depuis le noyau 2.4 est progressivement supprimé à partir du noyau v4.9 au profit de nftables.

Iptables sera toujours disponible dans un avenir prévisible, mais il est maintenant temps d'apprendre la nouvelle syntaxe de nftables. Nftables, qui signifie netfilter  les tables. Nftables fait partie de la suite netfilter, qui est une équipe de contributeurs du noyau spécifiquement chargée de faire "NAT, pare-feu et gestion des paquets pour Linux". L'équipe de netfilter est composée des mêmes auteurs qui nous ont apporté iptables, ils sont donc sans doute les mieux placés pour remplacer iptables, tout comme ipchains et ipfw avant lui.

Nouvelle fonctionnalité

Nftables offre de nouvelles fonctionnalités non disponibles dans iptables et est disponible (bien que pas totalement stable) depuis le noyau 3.13. En plus du module du noyau lui-même, trois autres composants comprennent nftables. Ce sont :

  • libmnl :la bibliothèque Netlink minimaliste
  • libnftnl :bibliothèque d'espace utilisateur netlink de bas niveau
  • nft :outil de ligne de commande.

Le nouvel ensemble d'outils offre les avantages suivants par rapport à iptables :

  • Haute performance par le biais de cartes et de concaténations :l'inspection des ensembles de règles linéaires n'évolue pas. À l'aide de cartes et de concaténations, vous pouvez structurer votre ensemble de règles afin de réduire au strict minimum le nombre d'inspections de règles pour trouver l'action finale sur le paquet.
  • Syntaxe unifiée et cohérente pour chaque famille de protocoles de support, contrairement aux utilitaires xtables, qui sont bien connus pour être pleins d'incohérences.
  • Machine virtuelle spécifique au réseau  :le nft L'outil de ligne de commande compile l'ensemble de règles dans le bytecode de la machine virtuelle au format netlink, puis il le pousse dans le noyau via l'API nftables Netlink. Lors de la récupération de l'ensemble de règles, le bytecode VM au format netlink est décompilé dans sa représentation d'origine de l'ensemble de règles. Donc nft se comporte à la fois comme compilateur et décompilateur.
  • Pas besoin de mises à jour du noyau et d'une base de code du noyau plus petite :L'intelligence est placée dans l'espace utilisateur nft outil de ligne de commande, qui est considérablement plus complexe qu'iptables en termes de base de code, cependant, à mi-parcours, cela nous permettra potentiellement de fournir de nouvelles fonctionnalités en mettant à niveau l'outil de ligne de commande de l'espace utilisateur, sans avoir besoin de mises à niveau du noyau.

Puis-je facilement convertir mes règles iptables en nft ?

Assez facilement. Il existe un outil de conversion qui fonctionne comme suit :
% iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
nft add rule ip filter INPUT tcp dport 22 ct state new counter accept


% ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport {111,222} counter accept

  • Pour plus d'informations sur le passage d'iptables à nftables, consultez cette page wiki utile de l'équipe netfilter.

Quand arrivera-t-il dans ma distribution Linux ?

À partir de Debian 9 stable, le framework nftables est installé, prêt à l'emploi. Il est disponible via l'installation de paquets dans le développement Debian (Stretch) dès maintenant, tapez simplement aptitude install nftables.

Une version stable de Debian diffusera presque certainement la version en aval vers toutes les autres distributions majeures basées sur Debian telles qu'Ubuntu dans un avenir proche. Les utilisateurs de CentOS 7/RHEL 7 peuvent installer nftables à partir du dépôt officiel Red Hat EPEL en utilisant yum dès aujourd'hui. Au moment d'écrire ces lignes, CentOS livre la version 0.6 et Debian 0.7. Ubuntu 16.04 LTS a une version plus ancienne (0.5), mais je vous recommande d'attendre une version ultérieure.

Plus d'informations

Pour obtenir plus d'informations, rendez-vous sur le site Web de netfilter, ils ont une très bonne documentation :

  • tutoriel nftables :http://wiki.nftables.org
  • Page d'accueil de nftables
  • Mise à jour Debian et nftables (mai 2017)

Linux
  1. Aide-mémoire des commandes IPtables

  2. Une «panique du noyau»?

  3. Linux – Noyau :Prise en charge des espaces de noms ?

  4. Linux - Transfert IP du noyau ?

  5. Présentation d'iptables

Commande de lecture bash

Commande Dmesg sous Linux

Commande Sysctl sous Linux

Linux est-il un système d'exploitation ou un noyau ?

Le noyau Linux contre. Mac noyau

iptables vs nftables :quelle est la différence ?