Script : Iptables firewall

#!/bin/sh 
## SCRIPT de IPTABLES - ejemplo del manual de iptables 
## Ejemplo de script para firewall entre una red local a internet 
## Internet ---- eth1 ---- Linux (firewall)----- eth0 ------ LAN 

## Intentamos cerrar todo puerto innecesario de internet a nuestra ip 
## Sin embargo desde nuestra red y linux hacia fuera tenemos todo acceso 

echo -n Aplicando Reglas de Firewall... 

## reglas 
## 
iptables -F 
iptables -X 
iptables -Z 
iptables -t nat -F 

## Establecimiento de politica por defecto 
iptables -P INPUT ACCEPT 
iptables -P OUTPUT ACCEPT 
iptables -P FORWARD ACCEPT 
iptables -t nat -P PREROUTING ACCEPT 
iptables -t nat -P POSTROUTING ACCEPT 

## Empezamos a filtrar 
## eth1 es el interfaz conectado al router ó modem y eth0 a la LAN 

/sbin/iptables -A INPUT -i lo -j ACCEPT 

# Al firewall tenemos acceso desde la red local LAN 
iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j ACCEPT 

# Ahora hacemos enmascaramiento de la red local 
# y activamos BIT DE FORWARDING (necesario pues sera parte del enrutado) 

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQUERADE 

# Direcciona para hacer nat en nuestra LAN al puerto 8080 al 80 
# (en mi caso uso squid y dansguardian este ultimo libera en el port 8080) 
# (Si solo usas squid es por el port 3128) 
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 

# Permitimos hacer forward de paquetes en el firewall, es decir 
# que otras máquinas puedan salir a traves del firewall. 
echo "1" > /proc/sys/net/ipv4/ip_forward 


# En mi caso a veces uso webserv entonces debo abrir el port 80. 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

#aqui si deseas abrir mas puertos solo copia la linea anterior y 
#cambia el numero de puerto que quieres abrir y si es tcp o udp. 

## Y ahora cerramos los accesos indeseados del exterior: 
## 0.0.0.0/0 significa: cualquier red 
## Cerramos el rango de puertos conocidos 
## Si quieres abrir puertos debes abrirlos antes de las siguientes lineas. 
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP 
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP 

# Cerramos el puerto de gestión webmin si es que lo tienes funcionando. 
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP 

echo "firewall activado"

Deja un comentario