#!/bin/sh
## SCRIPT de IPTABLES - ejemplo del manual de iptables
## Ejemplo de script para firewall entre red-local e internet
##
## Pello Xabier Altadill Izura
## www.pello.info - pello@pello.info
/etc/init.d/iptables clear
echo -n Aplicando Reglas de Firewall...
## FLUSH de reglas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
## Establecemos 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
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN
## El localhost se deja (por ejemplo conexiones locales a mysql)
iptables -A INPUT -i lo -j ACCEPT
echo "OK. El control de tráfico es correcto"
################
# los tipos que queremos que no entren
# Al firewall le damos acceso a la red local
#Bloqueo IP Suarez
iptables -A INPUT -s 172.27.194.28 -i eth1 -j DROP
echo "IP Suarez Bloqueada"
iptables -A INPUT -s 172.27.194.0/24 -i eth1 -j ACCEPT
# Ahora hacemos enmascaramiento de la red local
# y activamos el BIT DE FORWARDING (imprescindible!!!!!)
iptables -t nat -A POSTROUTING -s 172.27.194.0/24 -o ppp0 -j MASQUERADE
# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
## Y ahora cerramos los accesos indeseados del exterior:
# Nota: 0.0.0.0/0 significa cualquier direccion
# Cerramos el rango de puerto bien conocido
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 53 -j ACCEPT
echo " OK . puerto22 y 53, named y ssh"
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
echo " OK . puerto 80"
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP
echo " OK . puertos 1:1024"
iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP
echo " OK . puertos 1,1024 UDP"
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
echo " OK . redirect to 3128"
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 172.27.194.1:80
echo " OK . redireccion al servidor web"
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 5000 -j REDIRECT --to 172.27.194.1:5000
echo " OK . redireccion a webmin del webserver"
iptables -A FORWARD -s 172.27.194.0/24 -d ! 172.27.194.254 -p tcp --dport 41031:41900 -j REJECT
iptables -A FORWARD -s 172.27.194.0/24 -d ! 172.27.194.254 -p tcp --dport 3128 -j DROP
echo "verifique lo que se aplica con: iptables -L -n"
/etc/init.d/iptables save active
# Fin del script