nftables

nftables

Información
Desarrollado por Patrick McHardy / Pablo Neira
Última versión 0,9,6 (15 de junio de 2020)
Depositar https://git.netfilter.org/nftables/
Escrito en VS
Sistema de explotación GNU / Linux y Android
Medio ambiente Linux
Tipo Packet_Filter
Licencia GNU GPL
Sitio web www.netfilter.org

nftables es un subsistema del kernel de Linux que proporciona filtrado y clasificación de paquetes . Está disponible desde el lanzamiento del kernel de Linux 3.13 en19 de enero de 2014 [2].

Se supone que nftables, con el objetivo de reemplazar el marco de iptables , también reemplaza partes de Netfilter , mientras las retiene y reutiliza.

Entre las ventajas de nftables sobre netfilter, hay menos duplicación de código y más rendimiento. nftables se configura mediante el espacio de usuario de la utilidad nft, mientras que netfilter se configura mediante las utilidades iptables, ip6tables , arptables y ebtables .

nftables utiliza los componentes básicos de la infraestructura de Netfilter, como los puntos de anclaje existentes en la pila de la red, el sistema de seguimiento de conexiones, el componente de cola del espacio de usuario y el sistema de sub-registro.

nft

sintaxis de la línea de comandos

Un comando para eliminar todos los paquetes con la dirección IP de destino 1.2.3.4:

nft add rule ip filter output ip daddr 1.2.3.4 drop

La sintaxis de iptables es diferente:

iptables -A OUTPUT -d 1.2.3.4 -j DROP

Además, se proporciona una capa de compatibilidad para traducir las reglas de firewall de iptables ya existentes en sus contrapartes nftables.

La historia

El proyecto fue presentado al público por primera vez en el taller Netfilter 2008 por Patrick McHardy del equipo central de Netfilter. El primer borrador de la implementación del kernel y el espacio de usuario se publicó enmarzo de 2009. Aunque la herramienta ha sido llamada "... el mayor cambio en el firewall de Linux desde la introducción de iptables en 2001", ha recibido poca publicidad. El hacker Fyodor Vaskovich (Gordon Lyon) dijo que "espera su lanzamiento general en el kernel de Linux tradicional".

El proyecto permaneció en fase alfa y el sitio web oficial se suspendió en 2009. En marzo 2010, los correos electrónicos del autor en las listas de correo del proyecto mostraron que el proyecto aún estaba activo y a punto de ser lanzado desde una versión beta, pero la versión beta nunca se envió oficialmente. EnOctubre 2012, Pablo Neira Ayuso propuso una capa de compatibilidad para iptables y anunció la posible inclusión del proyecto en el kernel principal.

La 16 de octubre de 2013, Pablo Neira Ayuso envió una solicitud para extraer el núcleo de nftables al árbol principal del kernel de Linux. Se fusionó con la línea principal del núcleo en19 de enero de 2014 con el lanzamiento de la versión 3.13 del kernel de Linux.

Descripción general

El motor del kernel de nftables agrega una máquina virtual simple al kernel de Linux, capaz de ejecutar código de bytes para inspeccionar un paquete de red y decidir cómo debe manejarse ese paquete. Las operaciones implementadas por esta máquina virtual se hacen básicas intencionalmente. Puede extraer datos del propio paquete, ver los metadatos asociados (por ejemplo, la interfaz de entrada) y administrar los datos de seguimiento de la conexión. Se pueden utilizar operadores aritméticos, binarios y de comparación para tomar decisiones basadas en estos datos. La máquina virtual también es capaz de manipular conjuntos de datos (normalmente direcciones IP), lo que permite reemplazar varias operaciones de comparación con una búsqueda de un solo conjunto.

La organización descrita anteriormente es contraria al código de firewall de iptables, cuyo conocimiento del protocolo está tan integrado en la lógica que el código tuvo que ser replicado cuatro veces - para IPv4, IPv6, ARP y Ethernet - como firewall Los motores son demasiado específicos para el protocolo. ser utilizado genéricamente.

Las principales ventajas de nftables sobre iptables son la simplificación de la ABI del kernel de Linux, la reducción de la duplicación de código, la mejora de los informes de errores y una ejecución, almacenamiento y cambios incrementales más eficientes. Iptables, ip6tables, arptables y ebtables (utilizados para puentes IPv4, IPv6, ARP y Ethernet respectivamente) están destinados a ser reemplazados por nft (8) como una implementación unificada única, proporcionando una configuración de firewall en la parte superior de la red. Máquina virtual incrustado en el kernel. .

nftables también proporciona una API de usuario mejorada que permite el reemplazo atómico de una o más reglas de firewall dentro de una sola transacción Netlink. Esto acelera los cambios de configuración del firewall para configuraciones con grandes conjuntos de reglas; también puede ayudar a evitar condiciones competitivas al ejecutar cambios en las reglas. Además, una capa de compatibilidad planificada proporcionará la traducción de las reglas de firewall de iptables ya existentes en sus equivalentes nftables.

Referencias

  1. "  Noticias del proyecto netfilter / iptables  " , en netfilter.org ,15 de junio de 2020(consultado el 19 de agosto de 2019 )