GNU/Linux >> Tutoriales Linux >  >> Linux

Hola nftables, adiós iptables

Se renueva el cortafuegos en Linux.

Sí, leyó bien. La herramienta de firewall que ha sido odiada o amada, desde que el Kernel 2.4 está siendo eliminado del kernel v4.9 en adelante a favor de nftables.

Iptables seguirá estando disponible en el futuro previsible, sin embargo, ahora es el momento de aprender la nueva sintaxis de nftables. Nftables, que significa netfilter  mesas. Nftables es parte de la suite netfilter, que es un equipo de colaboradores del kernel encargados específicamente de hacer "NAT, Firewalling y manipulación de paquetes para Linux". El equipo de netfilter son los mismos autores que nos trajeron iptables, por lo que podría decirse que están mejor ubicados para reemplazar iptables, al igual que ipchains e ipfw antes.

Nueva funcionalidad

Nftables ofrece una nueva funcionalidad que no está disponible en iptables y ha estado disponible (aunque no completamente estable) desde Kernel 3.13. Además del propio módulo del kernel, otros tres componentes comprenden nftables. Estos son:

  • libmnl:la biblioteca minimalista de Netlink
  • libnftnl:biblioteca de espacio de usuario de enlace de red de bajo nivel
  • nft:herramienta de línea de comandos.

El nuevo conjunto de herramientas ofrece las siguientes ventajas sobre iptables:

  • Alto rendimiento a través de mapas y concatenaciones:la inspección del conjunto de reglas lineal no se amplía. Usando mapas y concatenaciones, puede estructurar su conjunto de reglas para reducir al mínimo la cantidad de inspecciones de reglas para encontrar la acción final en el paquete.
  • Sintaxis unificada y consistente para cada familia de protocolos de soporte, a diferencia de las utilidades xtables, que son bien conocidas por estar llenas de inconsistencias.
  • Máquina virtual específica de la red :el nft La herramienta de línea de comandos compila el conjunto de reglas en el código de bytes de la VM en formato de enlace de red, luego lo inserta en el núcleo a través de la API de enlace de red de nftables. Al recuperar el conjunto de reglas, el código de bytes de la máquina virtual en formato de enlace de red se descompila a su representación de conjunto de reglas original. Así que nft se comporta como compilador y descompilador.
  • No hay necesidad de actualizaciones del kernel y una base de código del kernel más pequeña :La inteligencia se coloca en el espacio de usuario nft herramienta de línea de comandos, que es considerablemente más compleja que iptables en términos de base de código; sin embargo, a mitad de camino, esto nos permitirá ofrecer nuevas funciones mediante la actualización de la herramienta de línea de comandos del espacio de usuario, sin necesidad de actualizaciones del kernel.

¿Puedo convertir mis reglas de iptables a nft fácilmente?

Bastante fácil. Hay una herramienta de conversión que funciona de la siguiente manera:
% iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
nft add rule ip filter INPUT tcp dport 22 ct state new counter accept


% ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport {111,222} counter accept

  • Para obtener más información sobre cómo pasar de iptables a nftables, consulte esta útil página wiki del equipo de netfilter.

¿Cuándo llegará a mi distribución de Linux?

A partir de Debian 9 estable, el marco nftables está instalado, listo para usar. Está disponible a través de la instalación del paquete en el desarrollo de Debian (Stretch) en este momento, simplemente escriba aptitude install nftables.

Es casi seguro que un lanzamiento a Debian estable se transmitirá gradualmente a todas las demás distribuciones principales basadas en Debian, como Ubuntu, en un futuro próximo. Los usuarios de CentOS 7/RHEL 7 pueden instalar nftables desde el repositorio oficial de Red Hat EPEL usando yum hoy. En el momento de escribir este artículo, CentOS incluye la versión 0.6 y Debian 0.7. Ubuntu 16.04 LTS tiene una versión anterior (0.5), sin embargo, recomendaría esperar a una versión posterior.

Más información

Para obtener más información, diríjase al sitio web de netfilter, tienen muy buena documentación:

  • instrucciones de nftables:http://wiki.nftables.org
  • página de inicio de nftables
  • Actualización de Debian y nftables (mayo de 2017)

Linux
  1. Seguimiento del kernel con trace-cmd

  2. Adiós, Diario Linux

  3. Linux:¿un núcleo corrupto en Linux?

  4. Usar iptables con CentOS 7

  5. alinear núcleo macro

Comando de lectura Bash

Comando Dmesg en Linux

Comando Sysctl en Linux

¿Linux es un sistema operativo o un kernel?

Núcleo de Linux vs. Núcleo de Mac

iptables vs nftables:¿Cuál es la diferencia?