On Tue, 25 Nov 2003 12:43:20 -0600 (CST) > # > # firewall.sh > # ----------- > # Por: Alejandro Sobrino <jander_AT_mallorcaweb.net> > # Gracias a: Primetime <primetime_AT_linuxsilo.net> > # > > #!/bin/bash > > IPTABLES=/sbin/iptables > # Interfaz conectada a internet > EXT="eth1" > # Interfaz conectada a la red interna > INT="eth0" > > case "$1" in > start) > # Cargamos los módulos necesarios > echo "Setting firewall rules..." > echo -n "Loading kernel modules: " > /sbin/insmod -q -s ip_tables > /sbin/insmod -q -s ip_conntrack > /sbin/insmod -q -s ip_conntrack_ftp > /sbin/insmod -q -s ip_conntrack_irc > /sbin/insmod -q -s iptable_nat > /sbin/insmod -q -s ip_nat_ftp > echo "done" > > # Activamos el IP forwarding > echo -n "Activating IP Forwarding support: " > echo "1" > /proc/sys/net/ipv4/ip_forward > echo "done" > > # Eliminamos las reglas anteriores > echo -n "Deleting firewall rules: " > $IPTABLES -F INPUT > $IPTABLES -F OUTPUT > $IPTABLES -F FORWARD > $IPTABLES -F > $IPTABLES -t nat -F > echo "done" > > echo -n "Activating NAT: " > $IPTABLES -t nat -A POSTROUTING -s 192.168.1.0/24 -d > 0.0.0.0/0 -o $EXT -j
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 80.35.198.200 (a todo lo que salga por eth1, haciendo SNAT le cambioamos la ip d eorigen por la que tengo en el interfaz eth1 (en el ejemplo 80.35.190.201) para obtenerla puedes añadir un: INETADDR=`ifconfig eth1|grep "inet addr:"|cut -d":" -f2|cut -d" " -f1` y dejar la regla tal que así: iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to $INETADDR > MASQUERADE > echo "done" > > echo -n "Activating ICMP echo request: " > $IPTABLES -A INPUT -i $EXT -p ICMP -j ACCEPT > echo "done" > > echo -n "Setting firewall port rules: " > > # 21: ftp > $IPTABLES -A INPUT -i $EXT -p TCP --dport 21 -m state > --state NEW -j ACCEPT$IPTABLES -A INPUT -i $EXT -p TCP > --dport 2100 -m state --state NEW -j ACCEPT > > # 22: ssh > $IPTABLES -A INPUT -i $EXT -p TCP --dport 22 -m state > --state NEW -j ACCEPT > > # 25: smtp > $IPTABLES -A INPUT -i $EXT -p TCP --dport 25 -m state > --state NEW -j ACCEPT > > # 80: apache > $IPTABLES -A INPUT -i $EXT -p TCP --dport 80 -m state > --state NEW -j ACCEPT > > echo "done" > > echo -n "Final approach: " > # Aceptamos paquetes de una conexión ya establecida > $IPTABLES -A INPUT -p TCP -m state --state RELATED -j > ACCEPT > > # Rechazamos los de conexiones nuevas > $IPTABLES -A INPUT -i $EXT -m state --state > NEW,INVALID -j DROP > > # Rechazamos conexiones de forwarding no establecidas > $IPTABLES -A FORWARD -i $EXT -m state --state > NEW,INVALID -j DROP > > echo "done" > ;; > > stop) > echo -n "Stopping firewall: " > $IPTABLES -F INPUT > $IPTABLES -F OUTPUT > $IPTABLES -F FORWARD > $IPTABLES -F > $IPTABLES -t nat -F > echo "done" > ;; > > restart) > $0 stop > echo -n "Sleeping a few seconds before setting the > rules again: " sleep 2 > echo "done" > $0 start > ;; > > status) > $IPTABLES -L > $IPTABLES --table nat --list --exact --verbose > --numeric --line-numbers;; > > *) > echo "Usage: $0 {start|stop|restart|status}" > exit 1 > esac > exit 0 > Espero que te sirva. La próxima vez que envíes tanto, indicalo en el subject. Aritz Beraza [Rei] -- Aritz Beraza Garayalde [EMAIL PROTECTED] [EMAIL PROTECTED] Linux User 272970 [http://www.upcnet.es/~abg] ************ 110011 TThhiinnggss YYoouu DDoo NNoott WWaanntt YYoouurr SSyysstteemm AAddmmiinniissttrraattoorr TToo SSaayy ************ 95. ...and after I patched the microcode...