A continuación, se presentan algunos ejemplos prácticos de cómo usar iptables
para gestionar el tráfico de red en sistemas Linux.
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.
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.
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.
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.
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.
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.
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].