Volver a herramientas
¿Qué es iptables?
iptables es la herramienta de línea de comandos del kernel Linux para configurar el firewall Netfilter. Es fundamental para la seguridad de servidores Linux.
- Tablas: filter (filtro), nat (traducción), mangle (modificación)
- Cadenas: INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING
- Acciones: ACCEPT, DROP, REJECT, LOG, DNAT, SNAT, MASQUERADE
- Matches: -p (protocolo), -s (source), -d (destino), --dport
- Estados: NEW, ESTABLISHED, RELATED, INVALID
Preguntas frecuentes
¿Cómo bloquear una IP con iptables en Linux?
Para bloquear una IP específica usa `iptables -A INPUT -s 192.168.1.100 -j DROP`. `-A INPUT` añade la regla al final de la cadena INPUT, `-s` especifica la IP origen y `-j DROP` descarta todos los paquetes. Para bloquear solo conexiones nuevas usa `-m state --state NEW`. Para registrar antes de bloquear: `iptables -A INPUT -s 192.168.1.100 -j LOG --log-prefix "BLOQUEO: "`. Guarda las reglas con `iptables-save > /etc/iptables/rules.v4` para que persistan tras reinicio.
¿Cuál es la diferencia entre las tablas filter, nat y mangle en iptables?
La tabla `filter` es la predeterminada y controla el tráfico permitiendo (ACCEPT), descartando (DROP) o rechazando (REJECT) paquetes en INPUT, OUTPUT y FORWARD. La tabla `nat` se usa para traducción de direcciones: SNAT cambia IP origen (salida a Internet), DNAT cambia IP destino (acceso desde fuera). La tabla `mangle` modifica campos de los paquetes como TTL o TOS, útil para QoS y balanceo. La tabla `raw` y `security` son para casos más avanzados como excepciones de connection tracking y políticas SELinux.
¿Cómo configurar iptables para permitir solo SSH y HTTP?
Una configuración mínima segura: `iptables -P INPUT DROP` (política por defecto: denegar todo), `iptables -P FORWARD DROP`, `iptables -P OUTPUT ACCEPT`. Luego permite SSH: `iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT`. Permite HTTP/HTTPS: `iptables -A INPUT -p tcp -m multiport --dports 80,443 -m state --state NEW -j ACCEPT`. Permite tráfico establecido: `iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT`. Permite loopback: `iptables -A INPUT -i lo -j ACCEPT`.
¿Cómo redirigir puertos con iptables usando DNAT?
Para redirigir tráfico entrante usa DNAT en la tabla nat. Ejemplo: redirigir todo el tráfico del puerto 8080 al puerto 80 interno: `iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination :80`. Para redirigir a otra IP: `iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 192.168.1.10:443`. Activa IP forwarding con `sysctl net.ipv4.ip_forward=1`. Para SNAT (enmascarar salida a Internet): `iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE`.
Herramientas relacionadas
Calculadora de Subredes
Calcula direcciones de red, rangos de IPs, máscaras de subred y broadcast
Traductor OIDs SNMP
Traduce OIDs numéricos a nombres descriptivos
Generador de Comandos Nmap
Genera comandos nmap personalizados para escaneos de red
Generador Tcpdump
Genera comandos tcpdump para captura y análisis de tráfico