Siguiendo a y los desarrolladores de Ubuntu la transición hacia el uso predeterminado del filtro de paquetes .
Para mantener la retrocompatibilidad, se propone utilizar el paquete , que proporciona utilidades con la misma sintaxis de línea de comandos que en iptables, pero traduce las reglas recibidas a bytecode nf_tables. Se planea incluir este cambio en el lanzamiento de otoño de Ubuntu 20.10.
Este es el segundo intento de Ubuntu de adoptar nftables. El primer intento se realizó el año pasado, pero fue rechazado debido a incompatibilidades con las herramientas . Ahora en LXD ya hay soporte integrado para nftables y puede trabajar con el nuevo backend para filtrado de paquetes. Para los usuarios que no están satisfechos con la capa de compatibilidad, existe la posibilidad de instalar las utilidades clásicas iptables, ip6tables, arptables y ebtables con el viejo backend.
Recordemos que en el filtro de paquetes se unifican las interfaces de filtrado de paquetes para IPv4, IPv6, ARP y puentes de red. El paquete nftables incluye componentes del filtro de paquetes que operan en el espacio de usuario, mientras que a nivel del núcleo, la subcapacidad nf_tables, incluida en el núcleo de Linux desde la versión 3.13, se encarga de la ejecución. A nivel de núcleo, solo se brinda una interfaz común, independiente del protocolo específico, que ofrece funciones básicas para extraer datos de los paquetes, realizar operaciones con los datos y gestionar el flujo.
Las reglas de filtrado propiamente dichas y los controladores específicos de protocolos se compilan en bytecode en el espacio de usuario, y este bytecode se carga en el núcleo a través de la interfaz Netlink y se ejecuta en el núcleo en una máquina virtual especial que recuerda a BPF (Berkeley Packet Filters). Este enfoque permite reducir significativamente el tamaño del código de filtrado que opera a nivel del núcleo y trasladar todas las funciones de análisis de reglas y lógica de trabajo con protocolos al espacio de usuario.
Fuente: opennet.ru
