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