squid no esta funcionado correctamente

Imagen de zo0m

Forums: 

Hola.
Tengo un pequeño problema con squid, sucede que deseo configurarlo para bloquear algunas paginas y hacer cache de paginas webs, pero los equipos que estan en la LAN por alguna razon de configuración, no estan pasando por el squid. Por que digo esto, por que no tengo ninguna regla acl creada para que la red pueda ver la paginas y aun asi, se puede navegar sin problemas. Hasta el momento tengo configurados estos parametors:

En el squid.conf:


http_port 3128 transparent
cache_mem 300 MB
cache_dir ufs /var/spool/squid 1024 16 256
visible_hostname super-server

Y en un scrip que tengo con direccionamiento el puerto 80 al 3128

echo "Regla de direccionamiento de 80 a 3128"
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to -port 3128

Y mi acces.log de squid muestra:


2009/04/05 17:01:07| Ready to serve requests.
2009/04/05 17:01:07| Done reading /var/spool/squid swaplog (0 entries)
2009/04/05 17:01:07| Finished rebuilding storage from disk.
2009/04/05 17:01:07| 0 Entries scanned
2009/04/05 17:01:07| 0 Invalid entries.
2009/04/05 17:01:07| 0 With invalid flags.
2009/04/05 17:01:07| 0 Objects loaded.
2009/04/05 17:01:07| 0 Objects expired.
2009/04/05 17:01:07| 0 Objects cancelled.
2009/04/05 17:01:07| 0 Duplicate URLs purged.
2009/04/05 17:01:07| 0 Swapfile clashes avoided.
2009/04/05 17:01:07| Took 0.6 seconds ( 0.0 objects/sec).
2009/04/05 17:01:07| Beginning Validation Procedure
2009/04/05 17:01:07| Completed Validation Procedure
2009/04/05 17:01:07| Validated 0 Entries
2009/04/05 17:01:07| store_swap_size = 0k
2009/04/05 17:01:08| storeLateRelease: released 0 objects

Pero, por alguna razon los equipos no pasan por squid. Por que aun no creo la regla acl que permita el acceso a la red.

Saludos

Uno de los amigos te

Imagen de damage

Uno de los amigos te pregunto por el ip_forwarding, si lo tienes habilitado?, que más tienes en tu script de iptables??, no será que tienes políticas DROP por defecto :?, si estas enmascarando tu red?, te recomiendo bajes el servicio del squid, comentes la linea del redireccionamiento, enmascara y habilita el ip forwarding y comentanos que pasa.
Por otro lado en Dhcpd lo tienes puesto para que solo escuche peticiones por tu eth0??, además tu squid.conf declara la ip de tu eth0 en http_port, pero eso luego de probar lo recomendado.

Si claro. que hago el

Imagen de zo0m

Si claro. que hago el forwadeo de paquetes y también tengo políticas Drop en mi iptables, aquí dejo el scrip:


iptables -F

echo "aplicando forwarding"
echo 1 > /proc/sys/net/ipv4/ip_forward

echo "enmascarando tráfico"
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

#pAsar equipos de lan por proxy
echo "Regla de direccionamiento de 80 a 3128"
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to -port 3128

echo "Habilitando puertos tcp"
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 53 -j ACCEPT

#respuesta desde dns
iptables -A INPUT -p tcp --sport 53 -j ACCEPT

iptables -A INPUT -p tcp -j DROP
echo "done"

echo "reglas UDP"

iptables -A INPUT -p udp -i eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --dport 67 -j ACCEPT
iptables -A INPUT -p udp -j DROP

El parametro http_port en squi quedo así:


http_port 192.168.1.1:3128 transparent

____________________________________
Me gusta aprender, me gusta Linux !!

Pues si tiene regals DROP,

Imagen de damage

Pues si tiene regals DROP, no veo por ningun lado las regals de OUTPUT y FORWARD, solo tienes esto:

echo "Habilitando puertos tcp"
#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 53 -j ACCEPT

Con lo que tienes , no vas a lograr nada ya que eso no determina si navegan o no, ya que solo son reglas de INPUT, te recomiendo primero que apliques políticas por defecto ACCEPT o mejor dale acceso a los puertos pertinenetes y mantienes el DROP, pero debes leer más de iptables ya que ahi esta tu error, squid esta bien, basico, pero funciona, por ejemplo debe permitir el FORWARD a los puertos 80, 443 y 53 al menos para que tengas navegación, no necesitas reglas INPUT para ellos al menos que corras servicios de http o dns en tu mismo server, lo cual no ocurre en tu caso.

Saludos.

Cuando me dices que tengo

Imagen de zo0m

Cuando me dices que tengo que hacer FORWARD a los puertos 80, 443 y 53. Deberían quedar mas menos de la siguiente manera:


iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -i eth0 -p tcp --dport 443 -j ACCEPT

Gracias!

____________________________________
Me gusta aprender, me gusta Linux !!

Toda comunicación es

Imagen de damage

Toda comunicación es bi-direccional como es logíco hasta en nosotros y en toda la naturaleza eso se da, para eso el FORWARD debe ser habilitado de la misma manera y no solo el FORWARD si no todas las otras cadenas, para que quede mejor explicado mira lo que googleando encuentras:

http://www.pello.info/filez/firewall/iptables.html#36

Saludos.

A mi me paso lo mismo

A mi me pasa algo similar. Tengo en una maquina ubuntu squid 3 funcionando perfectamente con una configuracion basica (soy nuevo en esto) en una red local con 20 PCs y cuando los usuarios ingresan al correo de yahoo.com la pagina queda cargando indefinidamente, lo mismo ocurre con algunos links de paginas como http://atcevaluation.autodesk.com/ al hacer click en el idioma "español"se queda cargando indefinidamente.
En cambio cuando ingreso quitando la configuracion del proxy squid del navegador funcionan todas perfectamente.
No poseo scrips con iptables ni nada por el estilo, solo el squid.
El archivo squid.conf es:

#=========================================================================
#=archivo squid.conf=====================================================
http_port 3128
visible_hostname localhost
cache_mem 256 MB
cache_access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
cache_dir ufs /etc/squid3/cache 6144 16 256
maximum_object_size 8192 KB
minimum_object_size 3 KB
cache_swap_high 100
cache_swap_low 80
acl redlocal src 192.168.0.0/24
acl microsoft dstdomain .microsoft.com
acl extlimit url_regex -i "/etc/squid3/extencioneslimitadas.acl"
delay_pools 1
delay_class 1 1
delay_parameters 1 40960/1048576
#delay_access 1 allow day
delay_access 1 allow extlimit
acl blacklist dstdomain "/etc/squid3/listanegra.acl"
http_access deny blacklist
http_access allow redlocal
http_access deny all
#==fin archivo squid.conf ======================================================
#===============================================================================

Intente probar creando una lista de sitios qui no pasen por el squid pero no funcono, asi:
----acl no_proxy dstdomain .yahoo.com
----http_access allow no_proxy

Tambien intente probar abriendo los puertos pero tampoco funcionono funcono asi:
--acl SSL_ports port 443 563
--acl Safe_ports port 80 # http
--acl Safe_ports port 21 # ftp
--acl Safe_ports port 443 563 # https, snews
--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 Safe_ports port 631 # cups
--acl Safe_ports port 873 # rsync
--acl Safe_ports port 901 # SWAT
--acl purge method PURGE
--acl CONNECT method CONNECT
...
--http_access deny !Safe_ports
--http_access deny CONNECT !SSL_ports

Ojala me puedan ayudar con esto desde ya muchas gracias!!
saludos! ;)

Páginas