Iptables

iptables
Tipo de cortafuegos
Autor Russell oxidado [d]
Desarrollador Equipo central de Netfilter
Escrito en C
Sistema operativo en el núcleo de Linux
Primera edición 1998
ultima versión
Licencia GNU GPL
Sitio web netfilter.org
 Archivos multimedia en Wikimedia Commons

iptables  es una utilidad de línea de comandos que es la interfaz de administración de firewall de netfilter estándar para kernels de Linux desde la versión 2.4. Se requieren privilegios de superusuario ( raíz ) para usar la utilidad iptables .

Historia

Inicialmente, el desarrollo de netfilter e iptables fue conjunto, por lo que existen muchas similitudes en la historia inicial de estos proyectos. Vea el artículo de netfilter para más detalles .

Los predecesores de iptables fueron los proyectos ipchains (usados ​​para administrar el firewall del kernel de Linux 2.2) e ipfwadm (similar a los kernels de Linux 2.0). Este último se basó en la utilidad BSD ipfw .

iptables conserva la misma filosofía que ipfwadm: el funcionamiento de un cortafuegos está definido por un conjunto de reglas, cada una de las cuales consta de una condición y una acción (p. ej., DROP o ACCEPT) que se aplican a los paquetes que cumplen esa condición. ipchains introdujo el concepto de cadenas  - listas independientes de reglas. Se introdujeron cadenas separadas para filtrar los paquetes entrantes (ENTRADA), salientes (SALIDA) y de tránsito (ADELANTE). Como continuación de esta idea, aparecieron tablas en iptables  , grupos independientes de cadenas. Cada tabla resolvió su propia tarea: las cadenas de la tabla filter eran responsables del filtrado, las cadenas de la tabla nat eran responsables de la traducción de direcciones de red ( NAT ), las tareas de la tabla mangle incluían otras modificaciones de los encabezados de los paquetes (por ejemplo, cambiando TTL o TOS ). Además, la lógica de las cadenas cambió ligeramente: en ipchains, todos los paquetes entrantes, incluidos los de tránsito, pasaban por la cadena INPUT. En iptables, solo los paquetes dirigidos al propio host pasan por INPUT.

Esta separación de funciones permitió a iptables usar la información de conexión como un todo al procesar paquetes individuales (anteriormente, esto solo era posible para NAT). Aquí es donde iptables supera con creces a ipchains, ya que iptables puede rastrear el estado de una conexión y redirigir, modificar o filtrar paquetes en función no solo de sus datos de encabezado (fuente, destino) o contenido del paquete, sino también de los datos de conexión. Esta característica del cortafuegos se llama filtrado con estado, en contraste con el filtrado sin estado primitivo implementado en ipchains (para más información sobre los tipos de filtrado, consulte el artículo sobre cortafuegos ). Podemos decir que iptables analiza no solo los datos transmitidos, sino también el contexto de su transmisión, a diferencia de ipchains, y por lo tanto puede tomar decisiones más informadas sobre el destino de cada paquete en particular. Para obtener más información sobre el filtrado con estado en netfilter/iptables, consulte Netfilter#State Mechanism .

En el futuro, los desarrolladores de netfilter planean reemplazar iptables con nftables  , una herramienta de nueva generación [3] .

Arquitectura

Conceptos básicos

Los conceptos clave de iptables son:

Notas

  1. Lanzamientos del proyecto iptables
  2. Sutter P. iptables versión 1.8.8  (ing.) - 2022.
  3. Los desarrolladores de Netfilter presentan el reemplazo de iptables . Consultado el 16 de julio de 2009. Archivado desde el original el 23 de marzo de 2009.

Literatura

Enlaces