Complicacion con Squid3 transparente y mas...

Publicado por Elio, Julio 01, 2015, 07:01:02 PM

Tema anterior - Siguiente tema

Elio

Saludos a todos...
tengo un problema con el squid3 en modo transparente, cosa que no me pasaba con el 2.7...
Reinstalé mi servidor con Debian8 (antes tenia Debian7), y le puse el Squid3 pues en el repo no tenia el 2.x.
Lo que deseo hacer es montar un proxy transparente solo para un rango de IPs, este a su vez depende de un proxy padre que ademas me pide autenticacion. Con Debian7 y Squid me funcionaba, pero con estas versiones nuevas me da problemas.

En las pcs de Otros no configuro el navegador (transparente) y deben salir por mi proxy usando un cache_peer1 segun su IP, Este cache_peer1 tiene login=user:pass.
En las pcs de Especialistas se configura el navegador apuntando al mi proxy que a su vez usa el cache_peer2 segun las IP de dichas PCs, el cache_peer2 tiene login=PASS (al navegar por primera vez me pide autenticarme)

REPITO: Esto me funcionó bien con debian7 y squid2.x ,  pero con debian8 y squid3 me funciona en parte: o transparente para todos, o no transparente.

...en el squid.conf

[...]
http_port 3128 transparent

acl pc-otros src "/home/squid.configuraciones/pc-otros"
acl pc-especialistas src "/home/squid.configuraciones/pc-especialistas"

http_access allow pc-especialistas
http_access allow pc-otros

cache_peer mi.proxy.padre parent 3128 0 no-query default login=PASS name=especialistas
cache_peer_access especialistas allow pc-especialistas
cache_peer_access especialistas deny all

cache_peer mi.proxy.padre parent 3128 0 no-query default login=invitado:invitado name=transparente
cache_peer_access transparente allow pc-otros
cache_peer_access transparente deny all
[...]

... en el firewall:

[...]
iptables -t nat -A PREROUTING -m iprange --src-range 192.168.0.201-192.168.0.210 ! -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 192.168.0.0/24 ! -d 192.168.0.1 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
[...]

La cuestion es que en el proxy padre, el usuario INVITADO solo puede navegar en ciertos dominios...pero ESPECIALISTAS tienen acceso a cualquier dominio pero usando su USUARIO:PASSWORD.

El escenario es el siguiente:
En el salón entran personas con sus LAPTOPS y TABLETS o Telefonos con wifi, la wifi es en modo bridge, un servicio DHCP da las IPs, a los Especialistas se le asigna un IP segun su MAC (las que se conocen), pero los OTROS (visitantes) son todos los demas. A los OTROS solo se le permite la navegacion al dominio de la empresa y a otros dominios determinados, pero a los ESPECIALISTAS (trabajadores) se les permite navegar "más allá" según su Usuario y Password.

firecold

Amigo una pregunta has revisado tu cache.log, ya que en el puedes encontrar los problemas de configuracion o funcionamiento de squid, ya que de la version 2.x a 3.x de squid hay muchas directivas o configuraciones que son obsoletas y han sido cambiadas por nuevas directivas o diferente configuracion, Saludos

Elio

Ok, gracias por responder FireCold...
Revisando el cache.log memuestra esto:
[...]
2015/07/03 15:06:29 kid1| NOTICE: Authentication not applicable on intercepted requests.
2015/07/03 15:06:29 kid1| ERROR: No forward-proxy ports configured.

No entiendo mucho que puede significar todo esto pero creo que squid3 no permite el uso de autenticacion estando en modo transparente. Cuando hablo de autenticacion es que el proxy padre pide un usuario y password, pero creo que la opcion:
cache_peer mi.proxy.padre parent 3128 0 no-query default login=PASS
no es posible en modo transparente.

En fin....alguna sugerencia de como puedo lograr que OTROS pasen de manera transparente usando:
cache_peer mi.proxy.padre parent 3128 0 no-query default login=invitado:invitado
...y los ESPECIALISTAS puedan registrar con su usuario y passwrd independientes?

La cuestion es que en el proxy padre, el usuario INVITADO solo puede navegar en ciertos dominios...pero ESPECIALISTAS tienen acceso a cualquier dominio pero usando su USUARIO:PASSWORD.

firecold

LA solucion del primer problema es esta, ya se a abordado en Maravento, el cual puedes pasar y leer el problema y la solucion, Saludos

http://www.maravento.com/2015/06/no-forward-proxy-ports-configured.html


Elio

Saludos...y muchas gracias FireCold por tu atencion...

Te comento que sin haber revisado las sugerencias que publicastes, ya habia probado varias configuraciones y al final casualmente hice lo mismo que: http://www.maravento.com/2015/06/no-forward-proxy-ports-configured.html, y me funcionó, ademas de acoplarse perfectamente a mi problema: OTROS navegan de forma transparente y ESPECIALISTAS de forma manual.
De todas formas gracias y disculpa por no haber publicado mi solucion tan pronto, pues el tiempo me lleva de prisa.

Ahora, tengo otro problemita, que no se si tiene que ver con el Squid, y quisiera saber si tienes alguna idea sobre el mismo.

Resulta que OTROS se conectan usando Wifi (desde tablets, laptops, phones). Mi estructura fisica es la siguiente:

-Internet-----Router-----Servidor(Debian8)[eth1]---------Switch-----Especialistas.
                                                  [eth2]------------------AP------OTROS.

Mi servidor tiene DNSMASQ como DNS y DHCP(solo para eth1-192.168.0.0)
El AP usa DD-WRT como sistema y esta en modo BRIDGE, pero tiene el DHCP(192.168.10.0) activado para OTROS.

El problema es que cuando OTROS se conectan el navegador NO resuelve los nombres de los sitios, pero si los pongo por sus IPs, ahi si me los resuelve, sin embargo, si pongo una PC (cambio el AP por la PC) en eth2, si me funciona la navegacion transparente.
Creo que el problema está en que no se me resuelven los DNS desde OTROS pasando por el AP.
Alguna sugerencia?

--En el Iptables tengo:    iptables -A INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
--En cualquier PC por eth1 puedo comprobar los nombres con nslookup, no asi a traves del AP desde eth2
--En la LAN del AP tengo como DNS la IP del servidor, y en su DHCP les tengo a OTROS que su DNS sea el mismo IP del servidor(no el del AP).

ferccs

Cita de: Elio en Julio 10, 2015, 10:07:22 AM
Saludos...y muchas gracias FireCold por tu atencion...

Te comento que sin haber revisado las sugerencias que publicastes, ya habia probado varias configuraciones y al final casualmente hice lo mismo que: http://www.maravento.com/2015/06/no-forward-proxy-ports-configured.html, y me funcionó, ademas de acoplarse perfectamente a mi problema: OTROS navegan de forma transparente y ESPECIALISTAS de forma manual.
De todas formas gracias y disculpa por no haber publicado mi solucion tan pronto, pues el tiempo me lleva de prisa.

Ahora, tengo otro problemita, que no se si tiene que ver con el Squid, y quisiera saber si tienes alguna idea sobre el mismo.

Resulta que OTROS se conectan usando Wifi (desde tablets, laptops, phones). Mi estructura fisica es la siguiente:

-Internet-----Router-----Servidor(Debian8)[eth1]---------Switch-----Especialistas.
                                                  [eth2]------------------AP------OTROS.

Mi servidor tiene DNSMASQ como DNS y DHCP(solo para eth1-192.168.0.0)
El AP usa DD-WRT como sistema y esta en modo BRIDGE, pero tiene el DHCP(192.168.10.0) activado para OTROS.

El problema es que cuando OTROS se conectan el navegador NO resuelve los nombres de los sitios, pero si los pongo por sus IPs, ahi si me los resuelve, sin embargo, si pongo una PC (cambio el AP por la PC) en eth2, si me funciona la navegacion transparente.
Creo que el problema está en que no se me resuelven los DNS desde OTROS pasando por el AP.
Alguna sugerencia?

--En el Iptables tengo:    iptables -A INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
--En cualquier PC por eth1 puedo comprobar los nombres con nslookup, no asi a traves del AP desde eth2
--En la LAN del AP tengo como DNS la IP del servidor, y en su DHCP les tengo a OTROS que su DNS sea el mismo IP del servidor(no el del AP).

Por casualidad el problema pasa en moviles (Android por ejemplo) y tablets? porque si es asi es un problema que se ha mencionado aqui en el foro y tiene que ver con squid... yo personalmente no he encontrado la solucion.

firecold

Cita de: ferccs en Julio 10, 2015, 01:50:25 PM
Por casualidad el problema pasa en moviles (Android por ejemplo) y tablets? porque si es asi es un problema que se ha mencionado aqui en el foro y tiene que ver con squid... yo personalmente no he encontrado la solucion.

http://www.alterserv.com/foros/index.php?topic=1926.msg17316#msg17316