Iptables
De 33system wiki
Contenido
Iptables
Teoría
Práctica
# iptables -A FORWARD -j ACCEPT # iptables -t nat -A POSTROUTING -s 172.16.15.0/24 -o eth1 -j SNAT --to 192.168.36.140
Mostrar las reglas
# mostramos las reglas iptables -L -n -v --line-numbers
Bloquear una ip
iptables -A INPUT -s 1.2.3.4 -j DROP iptables -A INPUT -s 192.168.0.0/24 -j DROP
Bloquear peticiones de un puerto
# bloqueamos todas las peticiones a un puerto iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP # bloqueamos las peticiones a un puerto de una ip concreta iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
Redirigir un puerto publico a un servidor interno
# habilitamos la opción de forwarding vim /etc/sysctl.conf # descomentamos y activamos la opcion de forwarding net.ipv4.ip_forward=1 # cargamos el cambio realizado sysctl -p /etc/sysctl.conf # reiniciamos el servicio de red /etc/init.d/networking restart # visualizamos las reglas iptables -L -n -t nat --line-numbers # Redirigimos el trafico de un puerto publico a un servidor interno ## Puerto publico: 2222 ## Servidor interno: 192.168.122.100 ## Puerto interno: 22 ## Gateway interno: 192.168.122.1 iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.122.100:22 iptables -t nat -A POSTROUTING -p tcp --dport 22 -d 192.168.122.100 -j SNAT --to 192.168.122.1 # visualizamos las reglas que deniegan iptables -L -n -t filter --line-numbers # deshabilitamos las opciones que deniegan iptables -t filter -D FORWARD 4 iptables -t filter -D FORWARD 5
Borrar un regla
## TABLA = nombre de la tabla a la que vamos a acceder NAT, ... ## SECCION = POSTROUTING, ... ## 1 = numero de la regla a borrar iptables -t TABLA -D SECCION 1
Salvar configuración
# creamos el directorio para almacenar los backups (si no existe) mkdir /etc/iptables # utilizamos el comando iptables-save iptables-save > /etc/iptables/iptables.20130902 # creamos un enlace simbolico a la configuracion que será la última validada ln -s /etc/iptables/iptables.20130902 /etc/iptables/iptables.rules
Recuperar configuración
# utilizamos el comando iptables-restore iptables-restore < /etc/iptables/iptables.rules
Configuración permanente
# editamos el archivo de interfaces de red vim /etc/network/interfaces # insertamos la linea [pre-up iptables] para que se recupere en el arranque ============================ ... # The loopback network interface auto lo iface lo inet loopback pre-up iptables-restore < /etc/iptables/iptables.rules auto eth0 ... ============================
Eliminar todas las reglas
iptables -F