squid+dansguardian+iptables con politica DROP

Forums: 

Buenas amigos!...

Actualmente tengo un firewall con politica accept funcionando perfectamente. Pero ahora he querido cambiar la politica a drop usando squid y dansguardian por algunos problemillas que he tenido...

La cuestion es que no he logrado hacer que las pc´s de mi lan naveguen, creo que no estoy entendiendo muy bien el funcionamiento logico del iptables y pues me gustaria me echaran una mano, esta pagina me ha servido de mucho pero todavia no logro mi objetivo.

Este es el script de mi firewall:


IPT=/sbin/iptables

echo -n "Inicializando Firewall..."

## Variables
EXT="eth0" #Al mundo
INT="eth1" #a la LAN

## Flush de reglas
echo -n "Flush de reglas: "
${IPT} -F
${IPT} -X
${IPT} -Z
${IPT} -t nat -F

echo -n "Aplicando Reglas de Firewall..."

## Politica por defecto
echo -n "Politica por defecto DROP"
${IPT} -P INPUT DROP
${IPT} -P OUTPUT DROP
${IPT} -P FORWARD DROP
${IPT} -t nat -P PREROUTING ACCEPT
${IPT} -t nat -P POSTROUTING ACCEPT

##==========================================##
# Permitiendo conexiones y reglas necesarias #
##==========================================##

##
echo 1 > /proc/sys/net/ipv4/ip_forward

## Acceso localhost
${IPT} -A INPUT -i lo -j ACCEPT
${IPT} -A OUTPUT -o lo -j ACCEPT

## Acceso al firewall
${IPT} -A INPUT -i $INT -j ACCEPT
${IPT} -A OUTPUT -o $INT -j ACCEPT

## Enmascaramiento de la LAN
${IPT} -t nat -A POSTROUTING -s 10.50.1.0/24 -d 0.0.0.0/0 -j MASQUERADE

## Redirigir el puerto de navegacion
${IPT} -t nat -A PREROUTING -i $EXT -p tcp --dport 80 -j REDIRECT --to-port 3128 #Del mundo hacia la LAN
${IPT} -t nat -A PREROUTING -i $INT -p tcp --dport 80 -j REDIRECT --to-port 8080 #De la LAN hacia el mundo

## Navegacion
${IPT} -A INPUT -i $EXT -p tcp --sport 3128 -j ACCEPT #Accepto la entrada para que funcione la redireccion al squid
${IPT} -A OUTPUT -o $EXT -p tcp --dport 3128 -j ACCEPT
${IPT} -A INPUT -i $EXT -p tcp --sport 80 -j ACCEPT #Accepto la entrada para que funcione la redireccion al dansguardian
${IPT} -A OUTPUT -o $EXT -p tcp --dport 80 -j ACCEPT

## Acceso a pop3 y smtp
${IPT} -A FORWARD -s 10.50.1.0/24 -d 216.25.164.162/0 -p tcp --dport 25 -j ACCEPT
${IPT} -A FORWARD -s 216.25.164.162/0 -d 10.50.1.0/24 -p tcp --sport 25 -j ACCEPT
${IPT} -A FORWARD -s 10.50.1.0/24 -d 216.25.164.162/0 -p tcp --dport 110 -j ACCEPT
${IPT} -A FORWARD -s 216.25.164.162/0 -d 10.50.1.0/24 -p tcp --sport 110 -j ACCEPT

echo -n "Firewall activo..."

Logré hacer que funcionara la salida y entrada del correo, pero la navegacion me tiene en jaque, nose si sera que hago mal la redireccion de puertos o que, cualquier correccion bienvenida sea. Algunas reglas estan comentadas con lo que supuestamente deberian de hacer..

Haciendo algunas

Haciendo algunas modificaciones en las reglas logre que el navegador o mas bien el squid me responda esto desde cualquier pc de la lan:


The requested URL could not be retrieved

While trying to retrieve the URL: http://www.google.co.cr/

The following error was encountered:

Unable to determine IP address from host name for www.google.co.cr

The dnsserver returned:

Timeout

This means that:

The cache was not able to resolve the hostname presented in the URL.
Check if the address is correct.

Your cache administrator is root.
Generated Tue, 04 May 2010 20:50:22 GMT by proxy.##########.com (squid/2.6.STABLE4)

Las reglas modificadas quedan asi:

IPT=/sbin/iptables

echo -n "Inicializando Firewall..."

## Variables
EXT="eth0"
INT="eth1"

## Flush de reglas
echo -n "Flush de reglas: "
${IPT} -F
${IPT} -X
${IPT} -Z
${IPT} -t nat -F

echo -n "Aplicando Reglas de Firewall..."

## Politica por defecto
echo -n "Politica por defecto DROP"
${IPT} -P INPUT DROP
${IPT} -P OUTPUT DROP
${IPT} -P FORWARD DROP
${IPT} -t nat -P PREROUTING ACCEPT
${IPT} -t nat -P POSTROUTING ACCEPT

##==========================================##
# Permitiendo conexiones y reglas necesarias #
##==========================================##

## Forward activado
echo 1 > /proc/sys/net/ipv4/ip_forward

## Acceso localhost
${IPT} -A INPUT -i lo -j ACCEPT
${IPT} -A OUTPUT -o lo -j ACCEPT

## Acceso al firewall
${IPT} -A INPUT -i $INT -j ACCEPT
${IPT} -A OUTPUT -o $INT -j ACCEPT

## Enmascaramiento de la LAN
${IPT} -t nat -A POSTROUTING -s 10.50.1.0/24 -d 0.0.0.0/0 -j MASQUERADE

## Redirigir el puerto de navegacion
${IPT} -t nat -A PREROUTING -i $EXT -p tcp --dport 80 -j REDIRECT --to-port 3128 #Del mundo hacia la LAN
${IPT} -t nat -A PREROUTING -i $INT -p tcp --dport 80 -j REDIRECT --to-port 8080 #De la LAN hacia el mundo

## Navegacion
#Acepto todas salidas y entradas para que funcione la redireccion al 3128 y 8080
${IPT} -A INPUT -p tcp --sport 3128 -j ACCEPT
${IPT} -A OUTPUT -p tcp --dport 3128 -j ACCEPT
${IPT} -A INPUT -p tcp --sport 8080 -j ACCEPT
${IPT} -A OUTPUT -p tcp --dport 8080 -j ACCEPT

## Acceso DNS
#${IPT} -A FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp --dport 53 -j ACCEPT
#${IPT} -A FORWARD -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp --sport 53 -j ACCEPT

## Acceso a pop3 y smtp
${IPT} -A FORWARD -s 10.50.1.0/24 -d 216.25.164.162/0 -p tcp --dport 25 -j ACCEPT
${IPT} -A FORWARD -s 216.25.164.162/0 -d 10.50.1.0/24 -p tcp --sport 25 -j ACCEPT
${IPT} -A FORWARD -s 10.50.1.0/24 -d 216.25.164.162/0 -p tcp --dport 110 -j ACCEPT
${IPT} -A FORWARD -s 216.25.164.162/0 -d 10.50.1.0/24 -p tcp --sport 110 -j ACCEPT

echo -n "Firewall activo..."

Tu servidor no puede

Imagen de Root Bit

Tu servidor no puede resolver, debes abrir el puerto 53 que corresponde al DNS.

There are only 10 types people in the world:
Those who understand binary and those who don't