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