Capítulo 6. Introducción a nftables
El marco de trabajo 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 cuanto a comodidad, características y rendimiento con respecto a las anteriores herramientas de filtrado de paquetes, sobre todo:
- tablas de búsqueda en lugar de procesamiento lineal
-
un único marco para los protocolos
IPv4
yIPv6
- reglas aplicadas atómicamente en lugar de buscar, actualizar y almacenar un conjunto completo de reglas
-
soporte para la depuración y el rastreo en el conjunto de reglas (
nftrace
) y la supervisión de los eventos de rastreo (en la herramientanft
) - sintaxis más coherente y compacta, sin extensiones específicas de protocolo
- una API Netlink para aplicaciones de terceros
Al igual que iptables
, nftables
utiliza tablas para almacenar cadenas. Las cadenas contienen reglas individuales para realizar acciones. La herramienta nft
sustituye a todas las herramientas de los anteriores marcos de filtrado de paquetes. La biblioteca libnftnl
puede utilizarse para la interacción de bajo nivel con nftables
Netlink API sobre la biblioteca libmnl
.
El efecto de los módulos en el conjunto de reglas nftables
puede observarse utilizando el comando nft
list rule set. Dado que estas herramientas añaden tablas, cadenas, reglas, conjuntos y otros objetos al conjunto de reglas de nftables
, tenga en cuenta que las operaciones del conjunto de reglas de nftables
, como el comando nft flush ruleset
, podrían afectar a los conjuntos de reglas instalados mediante los comandos heredados anteriormente separados.
6.1. Migración de iptables a nftables
Si ha actualizado su servidor a RHEL 8 o su configuración de cortafuegos todavía utiliza reglas de iptables
, puede migrar sus reglas de iptables
a nftables
.
6.1.1. Cuándo utilizar firewalld, nftables o iptables
A continuación se presenta un breve resumen en el que se debe utilizar una de las siguientes utilidades:
-
firewalld
: Utilice la utilidadfirewalld
para casos de uso de cortafuegos sencillos. La utilidad es fácil de usar y cubre los casos de uso típicos para estos escenarios. -
nftables
: Utilice la utilidadnftables
para configurar cortafuegos complejos y de rendimiento crítico, como por ejemplo para toda una red. -
iptables
: La utilidadiptables
en Red Hat Enterprise Linux 8 utiliza la API del kernelnf_tables
en lugar del back endlegacy
. La APInf_tables
proporciona compatibilidad con versiones anteriores para que los scripts que utilizan comandosiptables
sigan funcionando en Red Hat Enterprise Linux 8. Para los nuevos scripts de cortafuegos, Red Hat recomienda utilizarnftables
.
Para evitar que los diferentes servicios de firewall se influyan mutuamente, ejecute sólo uno de ellos en un host RHEL y desactive los demás servicios.
6.1.2. Conversión de reglas iptables a reglas nftables
Red Hat Enterprise Linux 8 proporciona las herramientas iptables-translate
y ip6tables-translate
para convertir las reglas existentes iptables
o ip6tables
en las equivalentes para nftables
.
Tenga en cuenta que algunas extensiones no tienen soporte de traducción. Si existe una extensión de este tipo, la herramienta imprime la regla no traducida con el prefijo #
. Por ejemplo:
# iptables-translate -A INPUT -j CHECKSUM --checksum-fill nft # -A INPUT -j CHECKSUM --checksum-fill
Además, los usuarios pueden utilizar las herramientas iptables-restore-translate
y ip6tables-restore-translate
para traducir un volcado de reglas. Tenga en cuenta que antes de eso, los usuarios pueden utilizar los comandos iptables-save
o ip6tables-save
para imprimir un volcado de las reglas actuales. Por ejemplo:
# iptables-save >/tmp/iptables.dump # iptables-restore-translate -f /tmp/iptables.dump # Translated by iptables-restore-translate v1.8.0 on Wed Oct 17 17:00:13 2018 add table ip nat ...
Para obtener más información y una lista de posibles opciones y valores, introduzca el comando iptables-translate --help
.