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