0Pricing
Linux Server Deployment & SSH Mastery · Lección

Reglas avanzadas de firewall (IPTables)

Domine IPTables para crear reglas de firewall complejas y con estado, implementar la traducción de direcciones de red (NAT) y proteger su servidor frente a ataques sofisticados.

Reglas avanzadas de firewall (IPTables) es una lección gratuita de Linux Server Deployment & SSH Mastery en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Server Deployment & SSH Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

Análisis más profundo de IPTables

IPTables es el potente firewall integrado de Linux. Aunque ya hemos visto los conceptos básicos, ofrece funciones avanzadas para un control preciso.

En esta lección aprenderá a usar reglas complejas, filtrado con seguimiento de estado y traducción de direcciones de red (NAT) para proteger y gestionar realmente la red de su servidor.

Recordar las tablas y las cadenas

IPTables organiza las reglas en tablas, cada una con una finalidad específica. Dentro de las tablas se encuentran las cadenas, que son listas de reglas evaluadas en orden.

  • Tabla filter: La tabla predeterminada, utilizada para filtrar (bloquear o permitir) paquetes. Contiene las cadenas INPUT, OUTPUT y FORWARD.
  • Tabla nat: Se utiliza para la traducción de direcciones de red (NAT). Contiene las cadenas PREROUTING, POSTROUTING y OUTPUT.
  • También existen otras tablas, como mangle y raw, para la modificación especializada de paquetes.

Descubrir el filtrado con seguimiento de estado

Un firewall con seguimiento de estado realiza un seguimiento del estado de las conexiones de red. En lugar de comprobar cada paquete individualmente, recuerda si un paquete pertenece a una conexión existente y establecida.

Estados de conexión principales:

  • NEW: El primer paquete de una conexión nueva.
  • ESTABLISHED: Paquetes que pertenecen a una conexión existente y activa.
  • RELATED: Paquetes que inician una conexión nueva relacionada con otra existente (por ejemplo, una transferencia de datos FTP).

Implementar reglas con seguimiento de estado

Las reglas con seguimiento de estado simplifican enormemente la gestión del firewall. Puede permitir todo el tráfico perteneciente a conexiones establecidas, de modo que solo necesita definir reglas para iniciar conexiones NEW.

Esta regla permite todos los paquetes entrantes que forman parte de una conexión ya establecida o relacionada:

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

Crear una lógica de reglas compleja

IPTables permite combinar varios módulos de coincidencia y opciones para crear reglas muy específicas. Esto ayuda a ajustar con precisión el acceso a distintos servicios y desde distintos orígenes.

Ejemplo: Permitir SSH (puerto 22) desde una subred específica (192.168.1.0/24) únicamente para conexiones nuevas.

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -m state --state NEW -j ACCEPT

Introducir la traducción de direcciones de red

La traducción de direcciones de red (NAT) modifica la información de direccionamiento de red en la cabecera IP de los paquetes mientras están en tránsito. Es fundamental para:

  • Permitir que varios dispositivos de una red privada compartan una única dirección IP pública (por ejemplo, los routers domésticos).
  • Redirigir puertos, enviando solicitudes externas a servidores internos.

Hay dos tipos principales: NAT de origen (SNAT) y NAT de destino (DNAT).

SNAT para conexiones salientes

La traducción de direcciones de origen (SNAT) cambia la dirección IP de origen de los paquetes. Se utiliza habitualmente cuando los servidores internos necesitan acceder a Internet a través de un servidor de puerta de enlace con una IP pública.

El enmascaramiento es una forma específica de SNAT en la que la dirección IP de la interfaz saliente se utiliza automáticamente como IP de origen, lo que resulta útil con direcciones IP dinámicas.

Ejemplo: Permitir que la red interna 192.168.0.0/24 acceda a Internet a través de eth0.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

DNAT para servicios entrantes

Destination NAT (DNAT) cambia la dirección IP de destino de los paquetes. Es ideal para el reenvío de puertos, que permite exponer en Internet, mediante la IP pública del servidor de puerta de enlace, un servicio que se ejecuta en un servidor interno.

Ejemplo: reenviar las solicitudes web entrantes (puerto 80) de eth0 a un servidor web interno en 192.168.1.100.

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

Defensa contra ataques de fuerza bruta

IPTables puede ayudarle a protegerse contra ataques comunes, como los intentos de inicio de sesión por fuerza bruta (por ejemplo, mediante SSH), limitando la velocidad a la que se aceptan nuevas conexiones desde una IP de origen.

El módulo limit permite especificar una frecuencia y un límite de ráfaga. Recuerde descartar las conexiones posteriores una vez alcanzado el límite.

Ejemplo: limitar las conexiones SSH nuevas a 3 por minuto, con una ráfaga inicial de 3 conexiones, y descartar las demás.

sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/minute --limit-burst 3 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

Lógica de las reglas de IPTables

Considere un servidor que actúa como puerta de enlace. Tiene una interfaz pública eth0 y una interfaz interna eth1 (conectada a 192.168.1.0/24).

¿Qué comando de IPTables permitiría acceder desde Internet a un servidor web interno en 192.168.1.50 mediante el puerto 80?

Repaso de IPTables

¡Enhorabuena! Ha explorado conceptos avanzados de IPTables:

  • Firewall con seguimiento de estado mediante los estados ESTABLISHED, RELATED y NEW.
  • Creación de reglas complejas combinando varios criterios de coincidencia.
  • Implementación de Network Address Translation (NAT) para el tráfico saliente (SNAT/Masquerade) y entrante (DNAT/Port Forwarding).
  • Uso del módulo limit para ofrecer una protección básica contra ataques.

Estas habilidades son fundamentales para crear entornos de servidores Linux sólidos y seguros. Recuerde guardar las reglas de IPTables después de realizar cambios, ya que no son persistentes de forma predeterminada.

Preguntas frecuentes

¿La lección «Reglas avanzadas de firewall (IPTables)» es gratis?

Sí — el texto completo de «Reglas avanzadas de firewall (IPTables)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Server Deployment & SSH Mastery, actualiza a CoddyKit PRO. El curso de Linux Server Deployment & SSH Mastery incluye 4 lecciones en total.

¿Qué aprenderé en «Reglas avanzadas de firewall (IPTables)»?

Domine IPTables para crear reglas de firewall complejas y con estado, implementar la traducción de direcciones de red (NAT) y proteger su servidor frente a ataques sofisticados. Practicas Linux Server Deployment & SSH Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Linux Server Deployment & SSH Mastery?

No se requiere experiencia previa. Linux Server Deployment & SSH Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Reglas avanzadas de firewall (IPTables)»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Linux Server Deployment & SSH Mastery?

Sí. Cada lección de Linux Server Deployment & SSH Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Auditoría de seguridad del servidor
  2. Reglas avanzadas de firewall (IPTables)
  3. Detección y prevención de intrusiones
  4. Registro centralizado e integración con SIEM
← Volver a Linux Server Deployment & SSH Mastery