El comando iptables
permite a los administradores configurar las reglas de filtrado de paquetes IP del cortafuegos del kernel de Linux. Es esencialmente una herramienta que controla el tráfico de red en un sistema determinando qué paquetes de datos pueden permanecer, dónde se dirigen y cuáles no están permitidos.
Con iptables, puedes definir filtros y reglas basadas en direcciones IP, protocolos (como TCP, UDP), puertos o una combinación de estos.
Entonces, típicamente, iptables se usa para establecer, administrar y hacer cumplir reglas relacionadas con el tráfico de red entrante y saliente en Linux, lo que ayuda en tareas como Traducción de Direcciones de Red (NAT), filtrado de paquetes y manipulación de paquetes. Esto lo convierte en una herramienta crucial para la seguridad de la red, permitiendo controlar qué conexiones están permitidas o denegadas en varios puntos de la red.
Aquí hay algunas formas de usar el comando iptables:
Listar reglas
Para listar todas las reglas en el cortafuegos, puedes usar la opción -L
.
iptables -L
Bloquear una dirección IP
Para bloquear todo el tráfico entrante desde una dirección IP específica, puedes usar la opción -A
para añadir una regla a una cadena.
iptables -A INPUT -s 192.168.0.10 -j DROP
El comando anterior bloquea todo el tráfico entrante desde la dirección IP 192.168.0.10.
La opción -j
en iptables (Jump/Target) especifica la acción que se tomará si el paquete coincide con las condiciones de la regla. Aquí hay algunos otros valores comunes que puede recibir:
- ACCEPT: Acepta el paquete, permitiendo que pase a través del firewall y sea procesado normalmente.
- REJECT: Rechaza el paquete y envía un mensaje de error al remitente.
- DROP: Descarta el paquete, sin enviar ningún tipo de mensaje de error al remitente.
- LOG: Registra información sobre el paquete en el registro del sistema antes de continuar con cualquier otra acción.
- RETURN: Devuelve el control al proceso que llamó a iptables.
- DNAT: Utilizado para la traducción de direcciones de destino.
- SNAT: Utilizado para la traducción de direcciones de origen.
Permitir una dirección IP
Para permitir todo el tráfico entrante desde una dirección IP específica, puedes usar la opción -A para añadir una regla a una cadena.
iptables -A INPUT -s 192.168.0.10 -j ACCEPT
El comando anterior permite todo el tráfico entrante desde la dirección IP 192.168.0.10.
Bloquear un puerto
Para bloquear todo el tráfico entrante en un puerto específico, puedes usar la opción -A
para añadir una regla a una cadena.
iptables -A INPUT -p tcp --dport 80 -j DROP
El comando anterior bloquea todo el tráfico entrante en el puerto TCP 80.
Permitir un puerto
Para permitir todo el tráfico entrante en un puerto específico, puedes usar la opción -A
para añadir una regla a una cadena.
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
El comando anterior permite todo el tráfico entrante en el puerto TCP 80.
Eliminar una regla
Para eliminar una regla, puedes usar la opción -D
seguida de la cadena y el número de regla.
iptables -D INPUT 1
El comando anterior elimina la primera regla en la cadena INPUT.
En iptables, cada regla en una cadena está numerada, empezando por 1. Por lo tanto, cuando ejecutas iptables -D INPUT 1
, estás diciendo a iptables que elimine la primera regla en la cadena INPUT, es decir, la regla número 1.
Vaciar todas las reglas
Para eliminar todas las reglas, puedes usar la opción -F.
iptables -F
Bloquear un servicio específico
Si quieres bloquear un servicio específico, puedes especificar el nombre del servicio en lugar del número de puerto.
iptables -A INPUT -p tcp --dport ssh -j DROP
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.