Re: Problemita con mi Script para Firewall/Iptables
On Apr 11, 2005 2:50 PM, jfqb@alu.ua.es <jfqb@alu.ua.es> wrote:
>
> ¿y un problema de dns con la página no es no?
> si pones http://192.168.1.X(bueno la ip del server) tampoco sale
> ¿va desde fuera?
Desde afuera de la red todo se ve perfecto.
El dns esta perfecto ademas de las ips, te cuento que se que el
problema esta en el forwarding, pero no se donde....
Saludos!!!
>
> ---- Mensaje Original ----
>
> > Hola a todos!
> >
> > Tengo un problema con el siguiente script que escribi para hacer un
> > firewall a mi red. Todo funciona perfecto a excepcion de que los
> > computadores de la red no pueden ver la pagina web que esta en el
> > mismo server de la red. Es decir, si dan www.pagina.com, o
> > *.pagina.com, no pueden ver nada.
> >
> > La red esta organizada asi:
> >
> > Firewall Recibe conexion a internet por una ethernet
> > Firewall Comparte la conexion por la otra ethernet a un hub,
> 192.168.1.1
> > Server 192.168.1.2
> > Clientes 192.168.1. >3
> >
> > El script de iptables que hice fue el siguiente:
> >
> > #! /bin/sh
> > # Firewall IPTABLES for Global
> > # Author: Alex Barrios
> > # <alexertec@gmail.com>.
> > #
> > # Version: @(#)fire-wall 1.1 10-Abrl-2005 alexertec@gmail.com
> > #
> >
> > ###
> > # Localizacion de iptables
> > #
> > IPTABLES="/sbin/iptables"
> >
> > ###
> > # Configuracion Internet
> > #
> > INET_IP="200.XX.XXX.XXX"
> > INET_IFACE="eth0"
> >
> > ###
> > # Configuracion red Local
> > #
> > LAN_IP="192.168.1.1"
> > LAN_IP_RANGE="192.168.1.0/24"
> > LAN_BCAST_AD="192.168.1.255"
> > LAN_IFACE="eth1"
> >
> > ###
> > # Configuracion del LocalHost
> > #
> > LO_IFACE="lo"
> > LO_IP="127.0.0.1"
> >
> >
> > ###
> > # Funcion de inicio del servicio
> > #
> > d_start() {
> > ###
> > # Borra las Reglas Anteriores
> > ########
> > $IPTABLES -F
> > $IPTABLES -X
> > $IPTABLES -Z
> > $IPTABLES -t nat -F
> >
> >
> > ###
> > # Politicas predeterminadas para input, forward y output
> > ########
> > $IPTABLES -P INPUT DROP
> > $IPTABLES -P OUTPUT ACCEPT
> > $IPTABLES -P FORWARD DROP #drop
> >
> >
> > ###
> > # Regla para el NAT enmascarado. La ip puede ser dinamica
> > ########
> > $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
> >
> >
> > ###
> > # Activado el Forwarding de paquetes
> > # (fue ativado en el boot, ver /etc/network/options)
> >
> >
> > ###
> > # Regla para tcp_bad packets
> > ########
> > $IPTABLES -N bad_tcp_packets
> > # $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state
> NEW -j
> > LOG --log-prefix "New not syn:"
> > $IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state
> NEW -j DROP
> >
> >
> > ###
> > # Checkeo de las posibles ip's spoffeadas
> > ########
> > $IPTABLES -A bad_tcp_packets -i $INET_IFACE -s
> 192.168.1.0/16 -j DROP
> > $IPTABLES -A bad_tcp_packets -i $INET_IFACE -s
> 192.168.0.0/16 -j DROP
> > $IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 10.0.0.0/8 -j
> DROP
> > $IPTABLES -A bad_tcp_packets -i $INET_IFACE -s 172.16.0.0/12 -
> j DROP
> >
> >
> > ###
> > # Bloquea el reenvio de tcp no deseados # #
> > ########
> > $IPTABLES -A FORWARD -p ALL -s $LAN_IP -j ACCEPT
> > $IPTABLES -A FORWARD -p ALL -s $INET_IP -j ACCEPT
> > $IPTABLES -A FORWARD -p ALL -j bad_tcp_packets
> >
> >
> > ###
> > # Reglas para el Forward de paquetes
> > ########
> > $IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --
> state
> > ESTABLISHED,RELATED -j ACCEPT
> > $IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst
> 3 -j LOG
> > --log-prefix "IP FORWARD PACKET DIED:"
> > $IPTABLES -A FORWARD -i $INET_IFACE -m state --state
> NEW,INVALID -j DROP
> >
> >
> >
> > ###
> > # Redireccionado de paquetes DNAT, FTP, WEB, MAIL, Tomcat y
> DNS
> > ########
> > # Web
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 80 -
> j DNAT
> > --to 192.168.1.2:80
> > # FTP
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 20 -
> j DNAT
> > --to 192.168.1.2:20
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 21 -
> j DNAT
> > --to 192.168.1.2:21
> > # Tomcat
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport
> 8080 -j
> > DNAT --to 192.168.1.2:8080
> > # DNS
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 53 -
> j DNAT
> > --to 192.168.1.2:53
> > # POP & STMP
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 25 -
> j DNAT
> > --to 192.168.1.2:25
> > $IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport
> 110 -j DNAT
> > --to 192.168.1.2:110
> >
> >
> >
> > ###
> > # Reglas para paquetes TCP y UDP
> > ########
> > $IPTABLES -N tcp_packets
> > $IPTABLES -N udpincoming_packets
> >
> >
> > ###
> > # Reglas para aceptar conexiones TCP
> > ########
> > $IPTABLES -N allowed
> > $IPTABLES -A allowed -p TCP --syn -j ACCEPT
> > $IPTABLES -A allowed -p TCP -m state --state
> ESTABLISHED,RELATED -j ACCEPT
> > $IPTABLES -A allowed -p TCP -j DROP
> >
> >
> > ###
> > # Conexion ssh con el firewall
> > ########
> > $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
> >
> >
> > ###
> > # Reglas para input tcp no desseados provenientes de internet
> > ########
> > $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
> > $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
> > $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j
> udpincoming_packets
> >
> >
> > ###
> > # Reglas para la LAN, loopback y la interfaz del ISP
> > ########
> > $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_AD -j
> ACCEPT
> > $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
> > $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
> > $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
> > $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j
> ACCEPT
> > $IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state
> > ESTABLISHED,RELATED -j ACCEPT
> > $IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -
> j LOG
> > --log-level DEBUG --log-prefix "IP INPUT PACKET DIED: "
> >
> >
> > ###
> > # Regla OUTPUT Tcp no Deseados
> > ########
> > $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
> >
> >
> > ###
> > # Reglas Output para decir las ip's que se aceptan
> > ########
> > $IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
> > $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
> > $IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
> >
> >
> > ###
> > # Log de paquetes que no pertenecen a las reglas anteriores
> > ########
> > $IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst
> 3 -j LOG
> > --log-level DEBUG --log-prefix "IP OUTPUT PACKET DIED: "
> >
> >
> > ###
> > # Imprime que arranco el Script (establecimiento de reglas)
> > ########
> > echo "Iniciado Firewall Linux (Iptables)......"
> > }
> >
> > ###
> > # Funcion que detiene el servicio
> > #
> > d_stop() {
> > ###
> > # Borrado de todas las reglas, detiene todo a nivel de red
> > #
> > $IPTABLES -F
> > $IPTABLES -X
> > $IPTABLES -Z
> > $IPTABLES -t nat -F
> >
> > ###
> > # Imprime que se detuvo el script (borrado de reglas)
> > #
> > echo "Detenido Firewall Linux (Iptables)......."
> > }
> >
> > case "$1" in
> > start)
> > d_start
> > ;;
> > stop)
> > d_stop
> > ;;
> >
> > esac
> >
> > exit 0
> >
> >
> >
> > Cual sera mi problema?¿
> >
> > Cualquier sugerencia para cambiarlo, corregirlo o mejorarlo es
> bienvenida!
> >
> > Saludos y gracias de antemano!
> >
> >
> >
> > --
> > ----------------------------------------------------------------
> > ! ..::'''AleXerTecH'''::.. ! !
> > -----------------------------------------------------------------
> > ( o < -! Debian Sarge _ kernel:2.6.8-2-K7
> > / /\
> > V_/_ Usuario linux registrado #383172
> >
> >
> >
>
--
----------------------------------------------------------------
! ..::'''AleXerTecH'''::.. ! !
-----------------------------------------------------------------
( o < -! Debian Sarge _ kernel:2.6.8-2-K7
/ /\
V_/_ Usuario linux registrado #383172
Reply to: