Problema SQUID [SOLUCIONADO]

Todos los comentarios sobre redes y servidores en linux y su interacción con otros sistemas operativos.

Moderadores: doc, Kde_Tony, ps-ax

Responder
balbung
Forista Nuevo
Forista Nuevo
Mensajes: 46
Registrado: Mar Feb 23, 2010 2:49 pm

Problema SQUID [SOLUCIONADO]

Mensaje por balbung » Lun Sep 03, 2012 7:22 pm

Hola amigos,

Lo primero daros las gracias por adelantado. Mi problema es el siguiente:
Tengo un squid que tiene que dar acceso a 2 redes (interna y dmz). He seguido el tutorial dehttp://www.linuxparatodos.net//web/comu ... idor+Proxy pero la verdad que no entiendo muy bien como debo hacerlo. Mi proxy con una sola red funciona correctamente pero al tener que implementarle la DMZ me pierdo.
El servidor squid tiene 2 tarjetas de red con la siguiente configuración ip:

Código: Seleccionar todo

eth0: 
Ip: 172.16.1.1
Mask: 255.255.255.0
GW: 172.16.1.254 (router)

eth1:
Ip: 172.16.2.1
Mask: 255.255.255.0
GW: (sin gw)
Mi configuracion de squid es la siguiente (tengo squidGuard):


Código: Seleccionar todo

http_port 172.16.1.1:3128 transparent
visible_hostname SQUID
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

#Recommended minimum configuration:
acl all src 0.0.0.0/0.0.0.0
acl dmz src 172.24.52.0/24
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

http_access allow dmz

Mis dudas son las siguientes:

En la documentacion yo entiendo que debo poner 2 puertos a la escucha por lo que he puesto esto

Código: Seleccionar todo

http_port 172.16.1.1:3128 transparent
http_port 172.16.2.1:3129 transparent
Esta es la configuracion de squidGuard:

Código: Seleccionar todo

#
# CONFIG FILE FOR SQUIDGUARD
#

dbhome /var/squidGuard
logdir /var/log/squidGuard

#
# TIME RULES:
# abbrev for weekdays:
# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat

#time workhours {
#       weekly mtwhf 08:00 - 16:30
#       date *-*-01  08:00 - 16:30
#}

#
# REWRITE RULES:
#

#rew dmz {
#       s@://admin/@://admin.foo.bar.de/@i
#       s@://foo.bar.de/@://www.foo.bar.de/@i
#}

#
# SOURCE ADDRESSES:
#

src admin {
        ip              172.16.1.1
        ip              127.0.0.1
        #user           root foo bar
        #within                 workhours
}
src dmz {
        ip              172.16.2.0/24
}

#src foo-clients {
#       ip              172.16.2.32-172.16.2.100 172.16.2.100 172.16.2.200
#}

#src bar-clients {
#       ip              172.16.4.0/26
#}

#
# DESTINATION CLASSES:
#
dest adult {
        domainlist      blacklists/porn/domains
        urllist         blacklists/porn/urls
        expressionlist  blacklists/porn/expressions
        redirect        http://localhost/block.html}


acl {
 admin {
                pass    !adult  any
        }
        dmz {
                pass    !adult  any
        }
        default {
                pass    !adult   any
                #rewrite         dmz
                redirect http://localhost/block.html
}
}

Luego modifico iptables:

Código: Seleccionar todo

Red interna
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 443 -j REDIRECT --to-port 3128

DMZ
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT --to-port 3129
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 443 -j REDIRECT --to-port 3129
iptables-save
service iptables restart
Con la red interna me funciona pero con la DMZ no. ¿puede ser que deba meterle a la interfaz eth1 correspondiente a la DMZ una puerta de enlace?

Alguien que lo haya configurado me puede echar una mano.

Muchas gracias por adelantado

Editado -- Lun Sep 03, 2012 11:21 am --

He estado revisando más. en el anterior post tenia configurado el squid.conf con la siguiente configuracion:
#Red interna
http_port 172.16.1.1:3128 trasparent
#DMZ
http_port 172.16.2.1:3129 trasparent

Si en vez de poner el proxy de la DMZ como trasparente, lo pongo y luego en un equipo de la DMZ configuro el navegador en vez de ponerle la puerta de enlace del proxy funciona perfectamente. Usease así:

http_port 172.16.1.1:3128 trasparent
http_port 3129

Creo que es algo relacionado con la redireccion del trafico pero en iptables yo creo que esta bien.

¿Alguien ve donde estoy metiendo la pata?

Muchas gracias
Última edición por balbung el Mar Sep 04, 2012 12:23 pm, editado 1 vez en total.
Avatar de Usuario
Kde_Tony
Moderador
Moderador
Mensajes: 3866
Registrado: Mié Jul 20, 2005 7:00 am
Ubicación: /home/Peru/Lima/La Molina
Contactar:

Re: Problema SQUID

Mensaje por Kde_Tony » Lun Sep 03, 2012 7:38 pm

has realizado el MASQ en iptables para la DMZ? ... si no funciona el proxy transparente por lo general es que te falta el enmascaramiento.

Sls
"Quiero cambiar al mundo pero no me dan los RPM"
----------------------------
Tony Blair
Linux User # 433253
Ubuntu User # 9562
-----------------------------
Hereter
Forista Menor
Forista Menor
Mensajes: 94
Registrado: Vie Ene 15, 2010 8:09 pm

Re: Problema SQUID

Mensaje por Hereter » Lun Sep 03, 2012 7:45 pm

hola podria y enfatizo la palabra PODRIA ser que el problema este en la falta de gateway de la segunda interface, yo intentaria una prueba con un MASQUERADE de todo lo que entra por esta interface, el problema radica en que si funciona, en los logs de squid todas las peticiones de esa red apareceran enmascaradas con la ip de esa interface perdiendo la ip del cliente que originalmente realizo la solicitud de navegacion, pero si funciona ya sabes que vas por buen camino e intentaria un redirect.

ejemplo de masquerade:
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE

y ejemplo de redirect:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 1111 -j DNAT --to-destination 2.2.2.2:1111
no me acuerdo si en el redirect hacen falta comandos adicionales.

espero que te sea de ayuda.
balbung
Forista Nuevo
Forista Nuevo
Mensajes: 46
Registrado: Mar Feb 23, 2010 2:49 pm

Re: Problema SQUID

Mensaje por balbung » Mar Sep 04, 2012 12:22 pm

Muchas gracias amigos por vuestras respuestas. Voy a probar lo que me habeis comentado y os digo algo.
Respecto a lo de poner la puerta de enlace en la red DMZ, el problema que tengo es que me pierde la conexión con la otra interfaz, la de la interna. No se si será por el Masquerade, no obstante lo prueba y os comento.

Muchas gracias de corazón

Editado -- Mar Sep 04, 2012 4:22 am --

Hola amigos,

Acabo de probar lo que me han dicho y con el MASQ a la DMZ funciona!!!! no me ha sido necesario ponerle puerta de enlace a la DMZ.
1 millon de gracias!!!!!!

Un Saludo
Avatar de Usuario
Kde_Tony
Moderador
Moderador
Mensajes: 3866
Registrado: Mié Jul 20, 2005 7:00 am
Ubicación: /home/Peru/Lima/La Molina
Contactar:

Re: Problema SQUID [SOLUCIONADO]

Mensaje por Kde_Tony » Mar Sep 04, 2012 4:25 pm

De nada, por lo general el problema con el proxy transparente es justo por que a veces nos olvidamos del amigo MASQUERADE/MASQ...
Me da gusto saber que te hemos podido ayudar....

sls
"Quiero cambiar al mundo pero no me dan los RPM"
----------------------------
Tony Blair
Linux User # 433253
Ubuntu User # 9562
-----------------------------
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje