Documentation for a newer release is available. View Latest

Red

nftables sustituye iptables como el marco de trabajo de filtro de paquetes de red por defecto

El framework nftables proporciona facilidades de clasificación de paquetes y es el sucesor designado de las herramientas iptables, ip6tables, arptables y ebtables. Ofrece numerosas mejoras en comodidad, funcionalidades y rendimiento con respecto a las herramientas de filtrado de paquetes anteriores, entre las que destacan:

  • Tablas de consulta en lugar de procesamiento lineal.

  • Un marco único para los protocolos IPv4 e IPv6.

  • Todas las reglas aplicadas atómicamente en vez de obtener, actualizar, y almacenar un conjunto de reglas completo.

  • Asistencia para depuración y traza en el conjunto de reglamento (nftrace) y traza de vigilancia de eventos (en la herramienta nft).

  • Más consistencia y sintaxis compacta, sin extensiones específicas de protocolo.

  • Un API de enlace a red para aplicaciones de terceros.

Similarmente para iptables, nftables utiliza tablas para almacenar cambios. Las cadenas contienen reglas individuales para realizar acciones. La herramienta nft sustituye todas las herramientas desde el marco de trabajo del filtrado de paquetes. La biblioteca libnftables puede ser utilizada para interacción de bajo nivel con API nftables de Netlink sobre la biblioteca libmnl.

The iptables, ip6tables, ebtables and arptables tools are replaced by nftables-based drop-in replacements with the same name. While external behavior is identical to their legacy counterparts, internally they use nftables with legacy netfilter kernel modules through a compatibility interface where required.

Effect of the modules on the nftables ruleset can be observed using the nft list ruleset command. Since these tools add tables, chains, and rules to the nftables ruleset, be aware that nftables rule-set operations, such as the nft flush ruleset command, might affect rule sets installed using the formerly separate legacy commands.

To quickly identify which variant of the tool is present, version information has been updated to include the back-end name. In Fedora 32, the nftables-based iptables tool prints the following version string:

$ iptables --version
iptables v1.8.4 (nf_tables)

For comparison, the following version information is printed if legacy iptables tool is present:

$ iptables --version
iptables v1.8.4 (legacy)