miércoles, 30 de octubre de 2013

Pfsense 2.x: squid3 no cache nada.

Hola, les voy a platicar algo que me ha tocado vivir y a lo mejor ustedes tambien han pasado por esto.

Estoy trabajando con pfsense 2.1 con squid3, lo instale configure y todo el asunto, pero al paso del poco tiempo me di cuenta que no estaba mi cache trabajando.

Me fui a revisar el folder donde pfsense almacena esos folders creados:

/var/squid/cache

Estaban todos mis folders creados, opcion de fabrica: 16 directorios.

Permisos bien, pero no estaba almacenando nada en el cache, como se?

Bien, cuando busque la palabra HIT en mi log:

grep HIT /var/squid/logs/access.log

Solo salio 1 solo registro y ya tenia rato trabajando en el equipo, reinicie el sistema para ver esto de alguna manera squid checa su cache antes de arrancar.

El problema continuaba, entonces otros usuarios pasaban por lo mismo, lo que hice en mi caso es que si sabran squid puede uno borrar el cache y volver a crearlo esto es algo normal, pero uno esta acostumbrado a que todo funciona a la 1ra.

Desgraciadamente a veces esto no sucede, entonces lo que hice fue esto, 1ro que nada mi batch tenia que hacer lo siguiente:

#!/bin/sh

#1; Irnos a el folder donde esta el cache

cd /var/squid/cache
#2; Borrar cache:

rm -rf ./*
#3; crear cache de nuevo.

squid -z
#fin de batch.

Lo salvo con el nombre de crear-cache.sh


Poner el batch en modo de ejecucion:

chmod +x crear-cache.sh

Ahora si, ya con mi batch listo hice esto:

1; Parar el servicio por el GUI.
2; Revisar que ya no este ninguna instancia de squid en ejecucion:

ps -ax | grep squid

3; Ejecutar mi batch
sh  crear-cache.sh

4; Revisar que se hayan creado todos mis 16 directorios.

Con todo esto hecho, era cosa de iniciar el servicio atraves de la GUI.

Servicio arriba, ejecutar el ccleaner para borrar todos los caches de los navegadores ya que ellos tambien guardan de paginas visitadas.

Empece a navegar y despues de un rato usando los 3 navegadores: firefox, iexplore, chrome entrando  a las mismas paginas, esto forza a usar el cache, empece a ver los:

TCP_MEM_HIT

Ya estoy usando mi cache, iba a tardar un poco en ver el registro:

TCP_HIT

Por que recuerden que 1ro se usa la memoria y despues el disco.

LLeve a cabo otra instalacion para ver si habia un problema con la instalacion que lleva a cabo pfsense, pero en el otro equipo no hubo ningun problema. se instalo, configure el cache y empezo a funcionar sin hacer todo lo anterior, entonces puedo decir que fue algo mas especifico con la maquina.

Bien, aqui les dejo esto, saludos.

viernes, 25 de octubre de 2013

Pfsense 2.x: squidGuard redirector warning.

Hola, bien este es un comentario para todos aquellos que tengan su pfsense con squid+squidGuard, cuando lo tengan ya operando, revisen el log de squid:

/var/squid/logs/cache.log

Ya que por default squidGuard tiene de fabrica abrir solo 5 hilos del redirector o sea el.

9573  ??  SN     0:02.30 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
 9712  ??  IN     0:00.42 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
 9935  ??  IN     0:00.31 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
10084  ??  IN     0:00.25 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
10110  ??  IN     0:00.22 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
10150  ??  IN     0:00.20 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)

Entonces, esto esta bien uno solo en su casita, pero cuando ya estas hablando mas de 1 usuario ahi viene lo interesante, te hablan que esta lento, que si funciona pero lento o que no hay servicio, llegas y se cayo.

Un log que debemos siempre buscar y a lo mejor ya ajustado no lo vamos a ver por mucho tiempo es este:

2013/10/25 09:44:24| WARNING: All redirector processes are busy.
2013/10/25 09:44:24| Consider increasing the number of redirector processes in your config file.

El mismo dice que el servicio esta ocupado, que debemos incrementar la cantidad, uno puede entrar a la config de squid en la pestaña: General.

En la parte de abajo esta configurado la parte donde squid envia el trabajo a squidGuard y mas o menos asi esta:

redirect_program /usr/pbi/squidguard-squid3-i386/bin/squidGuard -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf;redirector_bypass off;url_rewrite_children 5

Podemos ajustar ahi, pero pasa algo, este parametro viene de las configuraciones de fabrica de pfsense, si reiniciamos el servidor, esta parte se pierde y coloca por default la que tiene en:

/usr/local/pkg/squidguard_configurator.inc

Busquen la linea:

define('REDIRECTOR_PROCESS_COUNT', '5'); # redirector processes count will started

Ahi es donde se debe cambiar si desean que se mantenga en cada reinicio y este valor es el que se colocara en la configuracion de squid.

Les recomiendo que lo incrementen de 5 en 5, por que?

Si se dan cuenta, cada uno de ellos consume memoria, entonces, si dicen, vamos a ponerle 100 para no estar batallandole,estamos mal, vean lo siquiente:


Dice que estamos utilizando cerca de 67MB x cada uno de ellos, entonces nomas recuerden que nunca debemos usar la memoria virtual, aqui aun no hemos llegado a eso pero debemos estar al pendiente de monitorear este log, este tipo de sistemas no son de ponerlos 1dia y olvidarse de ellos, debemos estar minimo 2 semanas revisando, siempre requieren ajuste hasta dejarlo como filo de bisturo, a lo mejor hasta memoria vamos a requerir, aun no sabemos.

Estos ejemplos son de un equipo corriendo pfsense 2.1 i386 1GB RAM, cache de squid deshabilitado.

Nos vemos pronto,Saludos.

miércoles, 2 de octubre de 2013

Pfsense 2: Habilitando squid 2.x cachemgr.

Hola, hace tiempo que no escribo nada, tengo muchas cosas en la cabeza, pero aqui me estoy dando un tiempo para hacer esto, creo que es momento de hacer un libro de pfsense+squid+squidguard...

Muchos que manejamos squid, siempre estamos buscando como obtener datos de la operacion dia a dia de nuestro proxy, existen varios programas que nos ayuda, pero algo importante es que el mismo squid, trae ya una utileria via web que podemos consultar para tocarle el pulso y ver como anda operando.

Trae tanta informacion que hasta el momento no he encontrado tanta informacion sobre sus partes mas internas en otra utileria libre.

Pero antes de esto vamos aclarando que eso lo encontre en el foro gabacho de pfsense, y esta basado en squid 2.7.x, no importa si es pfsense 2.0.x o ya la rama nueva, funciona.

Aclarando esto, es momento de explicar que vamos a editar el archivo fuente de pfsense para hechar a volar squid, este se localiza en:

/usr/local/pkg/squid/squid.inc

Antes de hacer un respaldo para cualquier problema que se les presente puedan retornarlo a su estado original.

cp squid.inc backup-squid.inc

Otra cosa estos son mis datos:

Mi Pfsense tiene el IP: 192.168.2.4 Puerto 249 https
Se llama gw.midominio.org

Abrimos el archivo squid.inc y buscamos esta linea:

acl localhost src 127.0.0.1/255.255.255.255

Le pones comentario y la dejamos asi, ajusten a sus parametros:

#acl localhost src 127.0.0.1/255.255.255.255
acl localhost src 192.168.2.4/255.255.255.255
cachemgr_passwd disable offline_toggle reconfigure shutdown
cachemgr_passwd none all

Salvan.

De ahi sigue editar el archivo cachemgr.conf localizado en donde se instala squid:

/usr/local/etc/squid/

Lo abro y lo dejo asi al final:

#localhost
gw

Salvan.

De aqui sigue el ultimo paso, creamos un enlace hacia el folder root the el webserver de pfsense.

cd /usr/local/www

ln -s /usr/local/libexec/squid/cachemgr.cgi  cachemgr.cgi 

Ya con esto, se van a su navegador y ponen la direccion de su pfsense asi como esta la figura-1, excepto que yo lo tengo apuntando a el puerto https 249, a lo mejor ustedes lo tienen de fabrica 80, 443, ahi ustedes hagan sus ajustes.

Figura 1: Pantalla de inicio



Navegen en todas sus opciones, ahi tenemos tantos datos por analizar, agarren su google y a empezar a buscar mas informacion.

Espero les sirva, saludos.