#!/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"