33.2. Información general sobre cachés proxy

33.2.1. Squid y seguridad

También es posible emplear Squid junto con un cortafuegos para proteger una red interna del exterior mediante un caché proxy. Exceptuando a Squid, el cortafuego impide a todos los clientes establecer conexiones a servicios externos, haciendo que sea el proxy el que establezca todas las comunicaciones con la World Wide Web.

Si la configuración del cortafuegos incluye una zona desmilitarizada (DMZ), es allí donde se utilizará el servidor proxy. En ese caso, es importante que todos los ordenadores de la DMZ envíen sus archivos de registro (o logfiles) a ordenadores dentro de la red segura. En la Sección 33.6, “Configuración de un proxy transparente” se describe un método para configurar un proxy transparente.

33.2.2. Cachés multinivel

Es posible configurar varios proxys para que cooperen intercambiando objetos entre ellos. De esta forma se reduce la carga total del sistema y se aumenta la probabilidad de que el objeto se encuentre ya en la red local. Es posible configurar incluso jerarquías de cachés, de forma que se pueda pedir páginas a cachés del mismo nivel o enviar peticiones a otros proxys de jerarquía más alta para que pidan las páginas a otros cachés existentes en la red o las obtengan directamente de la fuente.

Elegir una buena topología para los cachés es muy importante para no acabar creando más tráfico del que ya había en la red antes de instalar los cachés. Por ejemplo, en el caso de una red local muy extensa conviene configurar un servidor proxy para cada subred y conectar estos a un proxy de jerarquía superior conectado a su vez al caché proxy del ISP.

Toda esta comunicación se lleva a cabo mediante el protocolo ICP (Internet Cache Protocol) basado en UDP. Las transferencias de datos entre la mayoría de cachés se realizan mediante HTTP (Hypertext Transmission Protocol), protocolo basado en TCP.

Para encontrar el servidor más apropiado desde el que obtener un objeto, un caché envía una petición ICP a sus proxys vecinos. Estos le enviarán respuestas ICP con código HIT, si el objeto se encuentra efectivamente allí, o bien MISS en caso contrario. En caso que haya varios HIT, el proxy se decidirá por un servidor en especial en función de factores como la velocidad de respuesta o la proximidad, entre otros. Si las respuestas de los proxys vecinos no son satisfactorias, la petición se realizará al caché principal.

[Tip]Sugerencia

Para evitar duplicaciones de los objetos en varios cachés en la red se utilizan también protocolos ICP como CARP (Cache Array Routing Protocol) o HTCP (Hyper-Text Cache Protocol). Cuantos más objetos tengamos en la red, mayor será la posibilidad que esté el que buscamos.

33.2.3. Objetos cacheados en Internet

No todos los objetos disponibles en la red son estáticos. Existen páginas generadas dinámicamente por CGIs, contadores de visitantes o bien documentos que incluyen SSL para codificar el contenido y hacerlo más seguro. Por esos motivos se considera este tipo de objetos como no cacheables, ya que cada vez que se accede a ellos ya han cambiado.

Pero para todos los demás objetos que se guardan en el caché existe el problema de cuánto tiempo deben quedarse allí. Para determinarlo se asignan diferentes estados a los objetos del caché. Los servidores web y los cachés proxy controlan el estado de un objeto añadiendo cabeceras como Last modified (última modificación) o Expires (expira) y la fecha correspondiente. También se utilizan otras cabeceras para especificar los objetos que no deben cachearse.

Normalmente, los objetos desaparecerán antes del caché por la falta de espacio en el disco. Se utiliza algoritmos para sustituir objetos en el caché, como el LRU (Last Recently Used) que consiste en sustituir los objetos menos utilizados por nuevos.


SUSE LINUX Manual de administración 9.3