Glosario de Parámetros de iptables

Este glosario proporciona una explicación detallada de los parámetros utilizados en las reglas de iptables, junto con ejemplos prácticos.

1. MASQUERADE

Descripción: El objetivo MASQUERADE se utiliza en la tabla nat para realizar la traducción de direcciones de red (NAT). Permite que todos los dispositivos en una red privada aparezcan como si estuvieran utilizando una única dirección IP pública.

Ejemplo: Para configurar NAT y permitir que una red local comparta una conexión a Internet, usamos el siguiente comando:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

En este ejemplo, eth0 es la interfaz conectada a Internet[^1^][1].

2. ACCEPT

Descripción: El objetivo ACCEPT permite el paso de paquetes que coinciden con la regla.

Ejemplo: Para permitir el tráfico SSH (puerto 22), usamos el siguiente comando:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

3. DROP

Descripción: El objetivo DROP descarta los paquetes que coinciden con la regla, sin enviar ninguna respuesta.

Ejemplo: Para bloquear todo el tráfico de una IP específica (por ejemplo, 192.168.1.100), usamos el siguiente comando:

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

4. LOG

Descripción: El objetivo LOG registra los paquetes que coinciden con la regla en los registros del sistema.

Ejemplo: Para registrar todos los paquetes entrantes, usamos el siguiente comando:

sudo iptables -A INPUT -j LOG --log-prefix "IPTables-INPUT-Dropped: " --log-level 4

5. REDIRECT

Descripción: El objetivo REDIRECT redirige los paquetes a un puerto diferente en el mismo host.

Ejemplo: Para redirigir el tráfico HTTP (puerto 80) a HTTPS (puerto 443), usamos el siguiente comando:

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 443

6. DNAT

Descripción: El objetivo DNAT (Destination NAT) cambia la dirección IP de destino de los paquetes.

Ejemplo: Para redirigir el tráfico de un puerto específico a otro servidor, usamos el siguiente comando:

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80

7. SNAT

Descripción: El objetivo SNAT (Source NAT) cambia la dirección IP de origen de los paquetes.

Ejemplo: Para cambiar la dirección IP de origen de los paquetes salientes a una dirección específica, usamos el siguiente comando:

sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 203.0.113.1

8. REJECT

Descripción: El objetivo REJECT descarta los paquetes que coinciden con la regla y envía una respuesta de error al remitente.

Ejemplo: Para rechazar conexiones entrantes en el puerto 22, usamos el siguiente comando:

sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

9. CONNLIMIT

Descripción: El módulo connlimit permite limitar el número de conexiones simultáneas desde una misma IP.

Ejemplo: Para limitar el número de conexiones entrantes a un máximo de 10 por minuto desde una misma IP, usamos el siguiente comando:

sudo iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 10 -j REJECT

10. MULTIPORT

Descripción: El módulo multiport permite especificar múltiples puertos en una sola regla.

Ejemplo: Para permitir el acceso a un rango de puertos (por ejemplo, del 1024 al 2048), usamos el siguiente comando:

sudo iptables -A INPUT -p tcp --match multiport --dports 1024:2048 -j ACCEPT

11. STATE

Descripción: El módulo state permite filtrar paquetes según su estado de conexión (NEW, ESTABLISHED, RELATED, INVALID).

Ejemplo: Para permitir solo paquetes relacionados o establecidos, usamos el siguiente comando:

sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

12. LIMIT

Descripción: El módulo limit permite limitar la tasa de coincidencia de una regla.

Ejemplo: Para limitar los registros de paquetes a un máximo de 5 por minuto, usamos el siguiente comando:

sudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "IPTables-Limit: "