Ejemplos Prácticos de iptables

A continuación, se presentan algunos ejemplos prácticos de cómo usar iptables para gestionar el tráfico de red en sistemas Linux.

1. Bloquear una IP específica

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

Aplicación práctica: Esto es útil para bloquear el acceso de una IP maliciosa o no deseada a tu red.

2. Permitir tráfico SSH

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

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

Aplicación práctica: Esto es esencial para permitir el acceso remoto seguro a tu servidor.

3. Limitar el número de conexiones

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

Aplicación práctica: Esto ayuda a prevenir ataques de fuerza bruta en el puerto SSH.

4. Redirigir tráfico HTTP a HTTPS

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

Aplicación práctica: Esto asegura que todas las conexiones a tu sitio web sean seguras, redirigiendo automáticamente las solicitudes HTTP a HTTPS.

5. Configuración de NAT para compartir Internet

Para configurar NAT y permitir que una red local comparta una conexión a Internet, usamos los siguientes comandos:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

En este ejemplo, eth0 es la interfaz conectada a Internet y eth1 es la interfaz conectada a la red local.

Aplicación práctica: Esto se utiliza en un entorno doméstico o de oficina para permitir que múltiples dispositivos compartan una única conexión a Internet.

6. Guardar y restaurar reglas

Para guardar las reglas actuales de iptables y restaurarlas después de reiniciar, usamos los siguientes comandos:

Guardar reglas:

sudo iptables-save > /etc/iptables/rules.v4

Restaurar reglas:

sudo iptables-restore < /etc/iptables/rules.v4

Aplicación práctica: Esto asegura que las reglas del firewall se mantengan después de un reinicio del sistema.

7. Limitar un rango de puertos

Para limitar 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

Aplicación práctica: Esto es útil cuando necesitas permitir o bloquear un rango de puertos específicos para ciertos servicios o aplicaciones[^1^][1].