Volver al índice


iptables

herramienta de cortafuegos y trafico de red.

Algunos ejemplos generales:

# iptables -F (eliminar todas las reglas)

# iptables -L (si está activo y con qué reglas)

# iptables -L -vn (mostrando los puertos e información detallada)

# iptables -L -t nat (Listar reglas de una tabla concreta)

# iptables -L fail2ban-ssh (comprobar las ips bloqueadas por fail2ban)

# iptables -D fail2ban-ssh 1 (Quitar la primera ip baneada de las ips bloqueadas)

# iptables -nL --line-numbers (muestra el orden de ejecución de las reglas)

# iptables -nL INPUT (Lista todas las reglas de entrada)

# iptables -nL FORWARD (Lista todas las reglas de salida)

# iptables -D INPUT 3 (borrar la regla número 3)

# iptables -A INPUT -j LOG (Guardar logs de todos los bloqueos)

Bloquear (DROP)

# iptables -P INPUT DROP (Bloquear todo lo que entra)

# iptables -A INPUT -s IP -j DROP (una ip)

# iptables -A INPUT -s IP -i eth0 -j DROP (una ip de una red)

# iptables -A INPUT -s IP -p tcp -dport 22 -j DROP (un puerto de una ip)

# iptables -A INPUT -s 192.168.1.0/24 -j DROP (una red)

# iptables -A INPUT -m mac --mac-source 00:11:22:33:44:55 -j DROP (una mac)

# iptables -A INPUT -p tcp --destination-port 21 -j DROP (puerto 21 de entrada)

# iptables -A INPUT -p tcp -s IP --destination-port 21 -j DROP (el puerto 21 de entrada sólo para una IP)

# iptables -A INPUT -p tcp -i eth0 -m multiport --destination-port 22,80,443 -j ACCEPT (Varios puertos)

# iptables -A INPUT p tcp -s 192.168.1.0/24 --destination-port 21 -j DROP (el  puerto 21 de entrada para todo un rango de IPs)

# iptables -A FORWARD -p tcp --dport 25 -j DROP (la salida del puerto 25)

# iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "Puerto 22 bloqueado" iptables -A INPUT -p tcp --dport 22 -j DROP (haciendo aparecer una mensaje informando del bloqueo)

Permitir (ACCEPT)

# iptables -I INPUT 3 -s 192.168.1.0/8 -j ACCEPT (a la red especificada y poner la regla en tercer lugar)

# iptables -D INPUT -s 192.168.1.0/8 -j ACCEPT (Quitar la regla anterior)

# iptables -A INPUT -i lo -p all -j ACCEPT (todas las entradas a localhost)

# iptables -A OUTPUT -o lo -p all -j ACCEPT (todas las salidas a localhost)

# iptables -A INPUT -p tcp --dport ssh -j ACCEPT (Un servicio concreto)

# iptables -A INPUT -p tcp -i eth0 -m multiport --destination-port 22,80,443 -j ACCEPT (Todas las entradas a varios puertos)

# iptables -A OUTPUT -o eth0 -p tcp -d 192.168.101.0/24 --dport 22 -j ACCEPT  (Permitir trafico ssh saliente para la red especificada)

1.-

Salvar unas reglas de iptables y restablecerlas manualmente:

# iptables-save -c > /etc/iptables.rules

# iptables-restore < /etc/iptables.rules

2.-

Salvar unas reglas de iptables para que se activen automaticamente tras un reinicio:

Salvar las reglas:

# iptables-save > /etc/iptables/rules.v4

Crear el archivo:

# nano /etc/network/if-pre-up.d/iptables (Crear archivo)

Con el siguiente contenido:

#!/bin/bash

/sbin/iptables-restore < /etc/iptables/rules.v4

Otorgar permisos:

# chmod +x /etc/network/if-pre-up.d/iptables

3.-

Otra opción para salvar las reglas y que se activen tras un reinicio:

# /etc/init.d/iptables-persistent save (Guardar las reglas existentes)

# /etc/init.d/iptables-persistent flush (Reseteará todas las reglas)


Volver al índice