nftables es un proyecto que proporciona filtrado de paquetes y clasificación de paquetes en Linux, que reemplaza los frameworks existentes iptables, ip6tables, arptables y ebtables. Nftables es una combinación de componentes en núcleo de Linux (módulos) y una utilidad de línea de comandos en espacio de usuario.[1]
nftables | |||||
---|---|---|---|---|---|
Parte de Netfilter/iptables | |||||
Información general | |||||
Tipo de programa | Cortafuegos | ||||
Autor | Proyecto Netfilter | ||||
Desarrollador | Proyecto Netfilter | ||||
Lanzamiento inicial | 18 de marzo de 2009 (16 años y 16 días) | ||||
Licencia | GPL (versión 2) | ||||
Estado actual | En desarrollo | ||||
Información técnica | |||||
Programado en | C | ||||
Plataformas admitidas | Netfilter | ||||
Versiones | |||||
Última versión estable | 1.1.0 (info) ( 16 de julio de 2024 (8 meses y 18 días)) | ||||
Serie Netfilter/iptables | |||||
| |||||
Enlaces | |||||
Sitio web oficial
| |||||
Reutiliza partes clásicas de la infraestructura Netfilter, como el connection tracking system (conntrack, sistema de seguimiento de conexiones), el subsistema de envío de paquetes a espacio de usuario (nf_queue) y el subsistema de registro (nf_log), entre otros. También existe una capa de traducción y compatibilidad para facilitar el trabajo sobre reglas ya existentes de iptables.
En mayo de 2017, el proyecto Debian anunció que incluiría oficialmente a nftables en su sistema operativo y recomienda a los usuarios migrar desde iptables a nftables.[2] A su vez, en octubre de 2019, se anunció que nftables sería la herramienta por defecto a partir de Debian 11 Bullseye.[3]
El framework de iptables sufre una serie de limitaciones que se han querido mejorar en nftables:
Desde el punto de vista del usuario, las principales diferencias entre nftables e iptables son:
A modo de ejemplo, esta sería una equivalencia entre reglas similares.
En iptables:
% iptables -t filter -A FORWARD -s 1.1.1.1 -d 2.2.2.2 -p tcp --dport 123 -m conntrack --ctstate -j ACCEPT
En nftables:
% nft add rule filter forward ip saddr 1.1.1.1 ip daddr 2.2.2.2 tcp dport 123 ct state new accept