Configuración de Squid: Cachés en jerarquía.

Autor:dark Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2012 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos.

Introducción.

Colocar cachés en jerarquía en redes grandes donde hay múltiples servidores proxy, ayuda a ahorrar y aprovechar mejor los recursos.

Procedimientos

El parámetro cache_peer se utiliza para especificar otros Servidores Proxy con caché en una jerarquía como padres o como hermanos. Es decir, definir si hay un Servidor Intermediario adelante o en paralelo. La sintaxis básica es la siguiente:

cache_peer servidor tipo http_port icp_port opciones

Edite el archivo /etc/squid/squid.conf:

vim /etc/squid/squid.conf

Si el caché va a estar trabajando detrás de otro servidor cache, es decir un caché padre y considerando que el caché padre tiene una IP 172.16.100.1, escuchando peticiones HTTP en el puerto 8080 y peticiones ICP en puerto 3130 (puerto utilizado de modo predeterminado por Squid), especificando que se omita almacenar en caché los objetos que ya están presentes en el caché del Servidor Intermediario padre, utilice la siguiente línea:

cache_peer 172.16.100.1 parent 8080 3130 proxy-only

Cuando se trabaja en redes muy grandes donde existen varios Servidores Intermediarios (Proxy) haciendo caché de contenido de Internet, es una buena idea hacer trabajar todos los caché entre si. Configurar caches vecinos como sibling (hermanos) tiene como beneficio el que se consultarán estos caches localizados en la red local antes de acceder hacia Internet y consumir ancho de banda para acceder hacia un objeto que ya podría estar presente en otro caché vecino.

Ejemplo: Si el caché va a estar trabajando en paralelo junto con otros caches, es decir caches hermanos y considerando los caches tienen IP 10.1.0.1, 10.2.0.1 y 10.3.0.1, todos escuchando peticiones HTTP en el puerto 8080 y peticiones ICP en puerto 3130, especificando que se omitirá se almacenen en caché los objetos que ya están presentes en los caches hermanos, utilice las siguientes líneas:

cache_peer 10.1.0.1 sibling 8080 3130 proxy-only
cache_peer 10.2.0.1 sibling 8080 3130 proxy-only
cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

Pueden hacerse combinaciones que de manera tal que se podrían tener caches padres y hermanos trabajando en conjunto en una red local. Ejemplo:

cache_peer 10.0.0.1 parent 8080 3130 proxy-only
cache_peer 10.1.0.1 sibling 8080 3130 proxy-only
cache_peer 10.2.0.1 sibling 8080 3130 proxy-only
cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

En los casos anteriores, la resolución de nombres se hace de manera local. Si se desea hacer que la resolución de nombres se realice en el servidor padre, se puede utilizar algo similar a lo siguiente:

cache_peer 10.0.0.1 parent 8080 3130 no-query no-digest default

Para aplicar los cambios en Squid, ejecute:

service squid reload