Generador de Reglas iptables

Genera reglas de iptables desde CSV

Rule Definitions

Format

source, port, protocol, action

Use * for any. Protocols: tcp, udp, icmp, all

iptables Commands

Enter rules to generate iptables commands

El iptables Rule Generator crea reglas de firewall Linux a partir de entrada CSV estructurada. Ingresa tus reglas como filas con columnas de chain, origen, destino, protocolo, puerto y acción, y obtén comandos iptables correctamente formateados con el orden apropiado de flags -- sin necesidad de memorizar la sintaxis verbosa y propensa a errores de iptables.

Entendiendo iptables

Si administras servidores Linux, iptables es probablemente la primera herramienta de firewall que encuentras. Ha sido la interfaz estándar de filtrado de paquetes de Linux desde el kernel 2.4 (lanzado en 2001), y a pesar de ser sucedido por nftables en distribuciones más nuevas, iptables sigue siendo el firewall Linux más ampliamente desplegado en producción. La mayoría de la documentación, tutoriales y herramientas de automatización todavía apuntan a la sintaxis de iptables, y la capa de compatibilidad iptables-nft asegura que los comandos iptables funcionen incluso en sistemas que usan el backend de nftables.

El desafío con iptables es su sintaxis de línea de comandos. Cada regla es un solo comando con flags que deben aparecer en un orden específico, y equivocarse en un flag puede crear silenciosamente una regla que no coincide con lo que pretendías. Un -p tcp faltante antes de --dport 443 produce un error. Un -j ACCEPT cuando querías decir -j DROP crea un agujero de seguridad. Y cuando estás construyendo una configuración de firewall completa con 30 o 40 reglas, escribir cada comando a mano es tedioso y propenso a errores.

Este generador resuelve el problema aceptando tus reglas en un formato CSV simple y produciendo comandos iptables correctos. Puedes diseñar tu firewall en una hoja de cálculo, pegar el CSV, y obtener un script completo que puedes revisar, versionar y desplegar. El generador maneja el orden de flags, la sintaxis multiport, el seguimiento de conexiones, la especificación de interfaz y la detección automática de IPv4/IPv6 -- todos los detalles que confunden incluso a administradores experimentados al escribir reglas a mano.

Cómo generar reglas iptables desde CSV

  1. Prepara tus datos de reglas en formato CSV con columnas: chain, origen, destino, protocolo, puerto(s) y acción.
  2. Pega o sube el CSV al generador.
  3. El generador analiza cada fila y produce un comando iptables completo con los flags correctos.
  4. Revisa los comandos de salida -- las reglas IPv4 usan iptables y las reglas IPv6 usan ip6tables automáticamente.
  5. Copia los comandos para ejecución directa o exporta como un script de shell.

Formato de entrada CSV y comandos generados

Entrada CSV

chain,source,destination,protocol,port,action
INPUT,203.0.113.0/24,,tcp,22,DROP
INPUT,10.0.0.0/8,,tcp,443,ACCEPT
OUTPUT,,198.51.100.10,tcp,3306,ACCEPT
INPUT,,,tcp,80,ACCEPT
FORWARD,192.168.1.0/24,10.0.0.0/8,tcp,8080,ACCEPT
INPUT,,,icmp,,DROP

Salida generada

iptables -A INPUT -s 203.0.113.0/24 -p tcp --dport 22 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -d 198.51.100.10 -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.0/8 -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p icmp -j DROP

Características avanzadas

Campo CSVFlag iptablesEjemplo
Rango de puertos--dport8000:8080 genera --dport 8000:8080
Múltiples puertos-m multiport --dports80,443,8080 genera -m multiport --dports 80,443,8080
Puerto de origen--sportColumna separada para especificación de puerto de origen
Seguimiento de conexiones-m state --stateESTABLISHED,RELATED para reglas con estado
Interfaz-i / -oeth0 genera -i eth0 para la chain INPUT
Logging-j LOG --log-prefix"SSH-BLOCK: " genera -j LOG --log-prefix "SSH-BLOCK: "

Cuándo usar el iptables Rule Generator

  • Hardening de servidores -- Construye un conjunto completo de reglas de firewall desde una hoja de cálculo de requisitos de seguridad durante la configuración inicial del servidor.
  • Respuesta a incidentes -- Genera rápidamente reglas de bloqueo para IPs de atacantes recopiladas durante un incidente activo.
  • Migración de plataforma -- Convierte reglas de firewall de Windows Firewall, AWS security groups u otras plataformas a sintaxis iptables.
  • Scripts de automatización -- Genera scripts de configuración de firewall para flujos de aprovisionamiento con Ansible, Puppet o basados en shell.
  • Aprendiendo iptables -- Estudia la relación entre las especificaciones CSV y los comandos generados para entender la sintaxis de iptables.

Cómo funciona la sintaxis de reglas iptables

Estructura del comando

Cada comando iptables sigue este patrón:

iptables -A <CHAIN> [-s origen] [-d destino] -p <protocolo> [--dport puerto] -j <ACCIÓN>
  • -A agrega la regla a la chain especificada
  • -s y -d especifican direcciones de origen y destino en notación CIDR
  • -p establece el protocolo (tcp, udp, icmp)
  • --dport establece el puerto de destino (requiere -p tcp o -p udp)
  • -j establece la acción objetivo

Tipos de chains

ChainDirecciónCaso de uso
INPUTEntrante a este hostProteger servicios que corren en este servidor
OUTPUTSaliente desde este hostControlar a qué puede conectarse este servidor
FORWARDA través de este hostEscenarios de enrutamiento/NAT, appliances de firewall

IPv4 vs. IPv6

Cuando el generador detecta una dirección IPv6 (por ejemplo, 2001:db8::/32), produce comandos ip6tables en lugar de iptables:

ip6tables -A INPUT -s 2001:db8::/32 -p tcp --dport 443 -j ACCEPT

Consejos prácticos para la configuración de iptables

Lo más crítico que debes entender sobre iptables es el orden de las reglas. Las reglas en una chain se evalúan de arriba hacia abajo, y la primera regla que coincide gana. Si pones una regla ACCEPT amplia antes de una regla DROP específica, el DROP nunca se ejecuta. Esto es especialmente importante para la chain INPUT: siempre pon tus reglas de permiso específicas primero, luego tus reglas de denegación específicas, y termina con una denegación por defecto (iptables -A INPUT -j DROP). El generador preserva el orden de las filas de tu CSV, así que organiza tu hoja de cálculo en consecuencia.

El segundo error más común es no guardar las reglas para persistencia. Por defecto, las reglas de iptables viven en la memoria del kernel y desaparecen al reiniciar. En Debian/Ubuntu, usa iptables-save > /etc/iptables/rules.v4 e instala el paquete iptables-persistent. En RHEL/CentOS, usa service iptables save. Si omites este paso, tu servidor regresa de un reinicio sin firewall -- una ventana de vulnerabilidad crítica que ha causado incidentes de seguridad reales.

Al construir una configuración de firewall completa, siempre incluye reglas con estado al inicio de tus chains INPUT y OUTPUT. Una regla como iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT permite el tráfico de retorno para conexiones que tu servidor inició, sin la cual las conexiones salientes (actualizaciones de paquetes, consultas DNS, llamadas a API) se romperían. Sin esta regla, necesitarías reglas explícitas para cada ruta de retorno, lo cual es impráctico. Coloca esta regla primero en la chain INPUT para mejor rendimiento, ya que la mayoría de los paquetes en un servidor activo son parte de conexiones establecidas.

Preguntas frecuentes

¿Cuál es la diferencia entre DROP y REJECT? DROP descarta silenciosamente el paquete sin respuesta -- la conexión del remitente se agota por timeout. REJECT envía de vuelta un ICMP "port unreachable" o TCP RST, informando al remitente inmediatamente. DROP es más común para reglas que miran al exterior; REJECT es más útil en redes internas donde se prefiere el fallo rápido.

¿Cómo aplico las reglas generadas? Copia los comandos y ejecútalos directamente en una shell root, o guárdalos como script y ejecútalo. Las reglas toman efecto inmediatamente pero se pierden al reiniciar. Usa iptables-save > /etc/iptables/rules.v4 para persistir las reglas entre reinicios en Debian/Ubuntu, o service iptables save en RHEL/CentOS.

¿Puede el generador crear reglas para chains personalizadas? Sí. Ingresa un nombre de chain personalizado en la columna de chain (por ejemplo, LOGGING o SSH-RULES). El generador produce el comando -A CUSTOMCHAIN, pero debes crear la chain por separado con iptables -N CUSTOMCHAIN antes de aplicar las reglas.

¿Debería usar iptables o nftables para nuevos despliegues? Para nuevos despliegues en distribuciones modernas (Debian 10+, RHEL 8+, Ubuntu 20.04+), nftables es la opción recomendada. Ofrece sintaxis más limpia, mejor rendimiento y carga atómica de conjuntos de reglas. Usa el nftables Rule Generator para esos sistemas. Para sistemas existentes que ya ejecutan iptables, o para compatibilidad con automatización heredada, iptables sigue siendo una opción sólida.

¿Cómo limpio todas las reglas existentes antes de aplicar nuevas? Usa iptables -F para limpiar todas las reglas en todas las chains, e iptables -X para eliminar chains personalizadas. Ten cuidado: si limpias las reglas en un servidor remoto sin antes establecer la política por defecto a ACCEPT, te bloquearás a ti mismo. Siempre ejecuta iptables -P INPUT ACCEPT antes de limpiar.

¿Puedo generar reglas con comentarios? Sí. iptables soporta la sintaxis -m comment --comment "descripción" para agregar comentarios legibles a las reglas. Si tu CSV incluye una columna de descripción, el generador puede incrustarla como comentario en cada regla.

Herramientas relacionadas

IPparse•Herramientas gratuitas de cálculo de redes y subredes

© 2026 IPparse. All tools run locally in your browser.

100% Privacy-First • No Data Collected