V
e
r

l
i
s
t
a
d
o

tractatus@lapipaplena:/# _

 

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
Navegando por staredsi.eu aceptas las cookies que utilizamos en esta web. Más información: Ver política de cookies
[0] 0:bash*
1837 entradas - Acerca del Tractatus
La Pipa Plena 2018