Re: [LARGO]Compartir ADSL (funciona SQUID, pero no IPTABLES)
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 [aritz.beraza@estudiant.upc.es]
[aber1730@linuxupc.upc.es]
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...
Reply to: