Está en la página 1de 18

SAD 2 ASIR

PRÁCTICA 1 UNIDAD 9: Instalación y configuración de Squid

Agrupamiento: Individual Duración: 3 sesiones

Objetivos: Aprender a instalar y configurar el proxy Squid bajo GNU/Linux

En esta práctica instalaremos y configuraremos el conocido servidor proxy Squid en

GNU/Linux.

Squid es hoy por hoy, uno de los mejores web proxys que existen en Internet. Entre sus

principales carácterísticas podemos citar:

 es open-source

 proxy y caché de HTTP, FTP, DNS y otro tipo de URLs

 proxy de SSL (HTTPS, FTPS)

 soporta cachés jerárquicas

 puede funcionar como proxy transparente, proxy reverso y acelerador SSL

Hay que tener en cuenta que Squid no puede funcionar como proxy para servicios como

SMTP, POP3, TELNET, SSH, etc. Si se requiere hacer proxy para cualquier servicio

distinto a HTTP, HTTPS, FTP, GOPHER y WAIS se requerirá o bien implementar

enmascaramiento de IP a través de un NAT (Network Address Translation) o bien hacer

uso de un servidor SOCKS como Dante (http://www.inet.no/dante/).

Configuración escenario de simulación

1. Para comenzar con el desarrollo de la práctica, vamos a configurar primero el escenario

que vamos a simular con VirtualBox. En esta práctica, arrancaremos el ordenador con

Fedora, que realizará las funciones de proxy con Squid. Este servidor proxy tiene una

conexión a Internet que es la disponible a través de la tarjeta de red del equipo y una

conexión a una red privada de una empresa, que es la que simularemos con VirtualBox.

1/18
SAD 2 ASIR
Desde la máquina virtual con Windows o GNU/Linux, sólo vas a poder salir a Internet a

través del proxy Squid que configurarás en Fedora a lo largo de esta práctica. Primero

comprobarás como no puedes acceder a Internet desde tu equipo cliente, ya que la red

privada en la que se encuentra es desconocida para el router del instituto. Una vez

instales y configures el servidor Squid en Fedora, configurarás el navegador de la

máquina virtual para que utilice el proxy Squid a través de la tarjeta privada entre el

anfitrión (Fedora) e invitado.

El escenario simulado bajo Virtual Box es el que se muestra en la siguiente figura:

2/18
SAD 2 ASIR

Como habrás observado en la figura, es necesario que el servidor proxy en Fedora

tenga dos tarjetas de red, una conectada a la red privada (vboxnet0) y otra a la red del

aula (la tarjeta física eth0 o eth1, depende de como se llame en tu equipo). Es

importante que para hacer una simulación real, deshabilites cualquier configuración

de enrutamiento (ip forwarding) o NAT que tengas habilitada en el servidor Fedora de

anteriores prácticas.

Comprueba primero que tienes conectividad a Internet desde Fedora. La interfaz

vboxnet0 de Fedora, que corresponde con la tarjeta virtual host-only, y que se conectará

a la red privada con la máquina virtual, debes configurarla de la siguiente forma:

 ip: 10.1.1.1/27

 Puerta de enlace: ninguna (el gateway o puerta de enlace es el router del

instituto, ya configurado por dhcp en la tarjeta eth0)

Ahora nos queda configurar la tarjeta de red en la máquina virtual, que se conecta a la

red privada con el servidor proxy Fedora. Edita las propiedades de la tarjeta y

configúrala de la siguiente forma:

 ip: 10.1.1.2/27

 Puerta de enlace: ninguna (no es necesario pues vamos a usar un proxy sólo

para navegar y Fedora no hace funciones de router)

2. Comprueba ahora, desde el navegador de la máquina virtual, si puedes navegar por

Internet. ¿Porqué? Razona la respuesta.

3/18
SAD 2 ASIR
Instalación y configuración inicial Squid

3. Instala Squid desde repositorios: dnf install squid.

Para comprobar si squid se está ejecutando en el sistema tenemos dos opciones.

Intenta arrancar Squid con systemctl start squid. Si Squid no arranca es porque Squid

no puede encontrar un nombre válido para tu servidor. Para ello edita como root el

/etc/squid/squid.conf y busca la linea que contenga directiva visible_hostname.

Descoméntala y añádele como parámetro un nombre como por ejemplo squid.local

(puede ser cualquier otro).

Comprueba ahora que arranca Squid sin problemas ejecutando el comando systemctl

start squid.

4. Una vez comprobado que tenemos instalado Squid, vamos a realizar la configuración

necesaria para poder dar acceso a Internet a través de él. Squid se configura mediante

un único archivo de texto llamado squid.conf y ubicado en la ruta

/etc/squid/squid.conf. Este archivo debe ser editado como root y tiene la configuración

mínima para poner en marcha un proxy con Squid, pero es muy extenso debido a que

tiene muchos comentarios dentro del archivo, que explican cada una de las directivas de

configuración. La configuración de squid se define en base a una serie de directivas (o

etiquetas como llaman los autores de squid) con parámetros que son los que definen el

comportamiento del proxy Squid.

Cada vez que hagas un cambio en el archivo de configuración, es necesario aplicar los

cambios con la orden squid -k reconfigure.

5. Como ya se debe saber, en un sistema operativo con TCP/IP instalado NO pueden

existir dos servidores o demonios “escuchando” en el mismo puerto tcp. Por esta razón

debes asegurarte, antes de poner en marcha un servicio de cualquier tipo que necesite

4/18
SAD 2 ASIR
estar a la escucha en algún puerto, que este puerto no se esté utlizando por otra

aplicación.

El proxy Squid por defecto permanece a la escucha en el puerto tcp 3128.

Evidentemente, este puerto de escucha podemos cambiarlo a nuestro antojo por las

razones expuestas anteriormente. En esta práctica no vamos a cambiarlo ya que el

puerto 3128 no entra en conflicto con ninguno más, pero si desearas hacerlo, tienes que

cambiar la etiqueta o parámetro “http_port” del archivo squid.conf. Por ejemplo, para

dejar el Squid a la escucha en el puerto 8080 y en el puerto 3128, debes introducir los

parámetros siguientes en el fichero de configuración:

http_port 8080
http_port 3128

En el parámetro http_port podemos especificar la dirección ip en la que queremos que

acepte peticiones de los clientes. Esto es útil porque si nuestro proxy tiene dos tarjetas

de red, una a la red privada y otra a Internet, no queremos que nadie pueda utilizar

nuestro proxy desde fuera de nuestra red privada. Por lo tanto, lo primero que haremos

será indicar que nuestro proxy Squid escuche en el puerto 3128 (el puerto por defecto) y

la dirección ip de nuestra red privada. La sintaxis del parámetro http_port con la ip es la

siguiente:

http_port direccion_ip:puerto

Modifica la línea del fichero donde se encuentra el parámetro http_port para que tu

proxy sólo escuche en la dirección privada, teniendo en cuenta el escenario de la

práctica. Escribe la linea después de modificarla. Recuerda que para que el cambio

se aplique, debes guardar el archivo y reiniciar Squid tal y como se te ha dicho en el

punto 4.

5/18
SAD 2 ASIR

Control de acceso en Squid

En Squid es necesario establecer Listas de Control de Acceso (ACL) que definan una

red o bien ciertas maquinas en particular. A cada lista se le asignará una Regla de

Control de Acceso (ACR) que permitirá o denegará el acceso a Squid. Procedamos a

entender como definir unas y otras.

a) Listas de control de acceso (ACL's)

Una ACL se establece siguiendo la siguiente sintaxis:

acl nombre tipo_de_acl definicion

El campo nombre es el nombre que daremos a nuestra ACL. No debe contener

espacios. El campo tipo_de_acl define el tipo de ACL que vamos a utilizar. Hay muchos

tipos, puedes consultarlos en el fichero de ayuda

/usr/share/doc/squid/squid.conf.documented a partir de la línea 700

aproximadamente, donde figura el texto “TAG: acl”. Ahí tienes una referencia de la

sintaxis utilizada en la etiqueta acl y distintos ejemplos que puedes utilizar. Nosotros

usaremos para esta práctica los tipos src, dstdomain, dstdom_regex, url_regex,

urlpath_regex y time.

Si uno desea establecer una lista de control de acceso que defina sin mayor trabajo

adicional a toda la red local, se puede hacer indicando la dirección y la máscara de la

subred. Por ejemplo, si se tiene una red donde las máquinas tienen direcciones IP

192.168.1.X con máscara de subred 255.255.255.0, podemos utilizar lo siguiente:

acl miredlocal src 192.168.1.0/255.255.255.0

También puede definirse una ACL invocando un fichero localizado en cualquier parte del

disco duro, y en el cual se encuentra una lista de direcciones IP. Ejemplo:

6/18
SAD 2 ASIR
acl permitidos src "/etc/squid/permitidos"

El fichero /etc/squid/permitidos contendría algo como siguiente:

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.15
192.168.1.16
192.168.1.20
192.168.1.40

Lo anterior estaría definiendo que la ACL denominada permitidos estaría compuesta por

las direcciones IP incluidas en el fichero /etc/squid/permitidos.

b) Reglas de Control de Acceso

Estas definen si se permite o no el acceso a Squid. Se aplican a las ACL's. Deben

colocarse en la sección de reglas de control de acceso definidas por el administrador, es

decir, a partir de donde se localiza la siguiente leyenda:

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

La sintaxis básica es la siguiente:

http_access allow|deny nombre_acl ...

Con allow permitimos el acceso según los criterios que define la acl y con deny

denegamos. Cuando coinciden los criterios que define la acl (por ip de origen o destino,

dominio de origen o destino, hora de la petición, protocolo, etc, etc.) con una petición al

proxy, se dice que hay una coincidencia (en inglés, match)

En el siguiente ejemplo consideramos una regla que establece acceso permitido a la

ACL denominada permitidos:

http_access allow permitidos

7/18
SAD 2 ASIR
Si ponemos más de un nombre de una acl separadas por espacios, entonces deben de

cumplirse todos los criterios que se definen en todas las acl's.

Así, por ejemplo, si tenemos las siguientes acl's:

acl hotmail dstdomain .hotmail.com


acl localhost src 127.0.0.1/255.255.255.255
La acl hotmail define una coincidencia con el dominio de destino (observa el uso del tipo

dstdomain) hotmail.com.

La segunda acl, llamada localhost define una coincidencia con la ip de origen 127.0.0.1

(observa el uso del tipo src y de la máscara 255.255.255.255 para que coincidan todos

los bits de la dirección ip).

Si combinamos ambas acl's en la siguiente restricción de acceso:

http_access allow hotmail localhost


http_access deny hotmail
lo que conseguimos es que sólo desde el localhost, es decir, desde el propio servidor

donde está instalado el proxy, se permita navegar a hotmail.com.

MUY IMPORTANTE: El orden de las instrucciones http_access es fundamental. Se

van procesando por orden de aparición, desde la primera hasta la última, pero en

cuanto se encuentra una coincidencia, squid deja de procesar las reglas. Observa

que el comportamiento es totalmente distinto a las reglas de control de acceso de

Apache, en el cual se procesaban todas las reglas y se ordenaban según la directiva

Order.

Si hubiéramos puesto “http_access deny hotmail” la primera, entonces denegaríamos el

acceso a todo el mundo, incluso al localhost. Observa también que si no ponemos la

línea “http_access deny hotmail” al final, el resto de direcciones ip origen podrían entrar

a hotmail.

También pueden definirse reglas valiéndose de la expresión !, la cual significa

excepción. Pueden definirse, por ejemplo, dos ACL's, una denominada acl1 y otra

8/18
SAD 2 ASIR
denominada acl2, en la misma regla de control de acceso, en donde se asigna una

expresión a una de éstas. La siguiente establece que se permite el acceso a Squid a lo

que comprenda acl1 excepto aquello que comprenda acl2 (sería como el “negado” de

lista2):

http_access allow acl1 !acl2

Este tipo de reglas son útiles cuando se tiene un gran grupo de IP dentro de un rango de

red al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe

denegar el acceso.

c) Aplicando Listas y Reglas de control de acceso.

Una vez comprendido el funcionamiento de las Listas y las Reglas de Control de

Acceso, procederemos a determinar cuales utilizar para nuestra configuración.

Ejemplo

Considerando como ejemplo que se dispone de una red privada

192.168.1.0/255.255.255.0, si se desea definir toda la red local, utilizaremos la siguiente

línea en la sección de ACL's:

acl todalared src 192.168.1.0/255.255.255.0

Habiendo hecho lo anterior, la sección de ACL's debe quedar más o menos del siguiente

modo:

# Recommended minimum configuration:

acl all src 0.0.0.0/0.0.0.0

acl manager proto cache_object

acl localhost src 127.0.0.1/255.255.255.255

acl todalared src 192.168.1.0/255.255.255.0

A continuación procedemos a aplicar la regla de control de acceso:

9/18
SAD 2 ASIR
http_access allow todalared

Habiendo hecho lo anterior, la zona de reglas de control de acceso debería quedar más

o menos de este modo:

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS

http_access allow localhost

http_access allow todalared

http_access deny all

La regla http_access allow todalared permite el acceso a Squid a la ACL denominada

todalared, la cual está conformada por 192.168.1.0/255.255.255.0. Esto significa que

cualquier máquina desde 192.168.1.1 hasta 192.168.1.254 podrá acceder a Squid.

Observa como al final ponemos un deny all para denegar cualquier otra cosa que no

sea el propio servidor (localhost) o nuestra red interna.

6. Teniendo en cuenta el punto anterior, debes modificar el fichero de configuración para

permitir el acceso SÓLO a los clientes de tu red privada y a NADIE MÁS. Para ello

debes tener en cuenta el direccionamiento de esta red definido en el escenario de la

práctica y modificar las líneas del fichero de configuración de Squid que se llaman

localnet (busca “acl localnet” en el fichero de configuración) y adaptarla para sólo

aceptar clientes de la red privada de tu empresa .

Una vez realizadas las modificaciones, guarda el archivo y reinicia el servicio de Squid.

Si quieres puedes cambiar el nombre de la acl. No tiene porqué llamarse

necesariamente localnet, pero lo que sí es importante es que si le cambias el nombre en

la acl, debes cambiarlo también en la regla http_access.

7. Ahora es el momento de configurar el navegador del cliente virtual para que pueda

acceder a Internet a través del proxy Squid que has configurado. Para ello, abre el

10/18
SAD 2 ASIR
navegador en el cliente y configura el proxy de forma manual para que pueda navegar.

Escribe la dirección ip y el puerto del proxy que has tenido que configurar para que

pueda navegar por Internet.

Al seleccionar la casilla “No usar servidor proxy para direcciones locales” en “Internet

Explorer” le estamos indicando al navegador que no utilice el proxy cuando intentamos

conectarnos a un servidor web que pertenece a nuestra propia red. Lo recomendable es

marcar esta opción. En el caso de Firefox, se debe indicar el rango de la subred en la

que no queremos que use proxy.

Acepta los cambios y prueba ahora a navegar a través del proxy. Si no te funciona

revisa bien el punto 1 de la práctica y comprueba que tienes conectividad desde el

cliente virtual (10.1.1.2) al servidor Fedora (10.1.1.1) mediante el comando ping.

8. Llegado a este punto, ya puedes navegar (sólo navegar) por Internet a través del proxy

Squid configurado en Fedora. Observa que no puedes hacer ping hacia el exterior ni

resolver nombres ya que aunque tengas configurado algún dns, no puedes llegar a ellos

porque sólo tienes acceso al exterior por http a través del proxy. Cuando solicitas una

página, por ejemplo, www.google.es, quien resuelve ese nombre a su dirección ip es el

propio proxy y no el equipo cliente. Prueba a resolver unos cuantos nombres desde

nslookup y comprueba que no te funciona el resolutor dns.

Restricciones de acceso en Squid

9. Hasta ahora hemos visto como podemos fácilmente dar acceso a la web a una red

mediante el proxy Squid. Pero es muy habitual que en determinadas situaciones

queramos hacer lo contrario, es decir, restringir o denegar el acceso mediante distintos

criterios, como pueden ser:

11/18
SAD 2 ASIR
 denegar el acceso a la web desde determinados equipos de nuestra red

 denegar el acceso a determinadas direcciones de internet (contenidos no

permitidos: sexo, violencia, discriminación racial, etc)

 denegar el acceso a determinados ficheros por su extensión (evitar descargas de

ejecutables, troyanos, virus, extensiones con vulnerabilidades conocidas, etc)

En esta parte de la práctica vamos a filtrar el acceso a la web en Squid mediante ACL's

por url, por la extensión de los archivos y por las horas de conexión.

10. Vamos a suponer que no deseamos que nuestro clientes web accedan al portal de

Yahoo en España. Por tanto deberíamos cortar la url www.yahoo.es en Squid. La forma

de realizar esto es creando una ACL con la etiqueta acl y aplicándola como regla con la

etiqueta http_access, tal y como has visto en el punto 6 de esta práctica.

Para crear listas de acceso basándonos en el dominio de la url, Squid dispone de las

acl's con el tipo dstdomain.

Consultando el fichero squid.conf, escribe una acl que deniegue el acceso al dominio

yahoo.es. Guarda el archivo squid.conf y reinicia squid (squid -k reconfigure). Debes

recordar que el orden de las reglas http_access es fundamental, asi es que si quieres

denegar un dominio a todos los clientes, debes ponerla antes de las líneas:

http_access allow localnet

¿Porqué crees que es necesario situarlas antes?

11. Modifica ahora la acl que has creado en el punto anterior para que además de yahoo.es,

deniegue el acceso a marca.es. Escribe la ACL y la ACR. Comprueba que

efectivamente funciona.

12/18
SAD 2 ASIR

12. Para crear filtros más avanzados por dominio de destino squid nos proporciona el tipo

de acl dstdom_regex. El formato del dominio es el de una expresión regular. Las

expresiones regulares son un tipo de patrones más avanzados que los típicos basados

en asteriscos o en ?. En el fichero expreg.htm en el directorio de prácticas del tema 5

del servidor del aula, puedes descargar una pequeña refencia de como funcionan las

expresiones regulares.

Por ejemplo para expresar cualquier carácter en vez de un ? escribimos un punto (.)

Pero un punto sólo marca coincidencia con un carácter. Si queremos algo parecido al

asterisco en MS-DOS debemos usar .* Un punto indica cualquier carácter y un

asterisco indica cero o más veces. En la siguiente tabla puedes ver los caracteres de

repetición que puedes usar en una expresión regular:

Operador Ejemplo Descripción

? a? Cero o una vez la letra “a”

+ a+ Una o más veces la letra “a”

* a* Cero o más veces la letra “a”

Ten en cuenta que el punto (.) se utiliza para representar cualquier carácter por tanto si

lo que quieres es que haya una coincidencia con un punto (.) debes anteponerle el

carácter de escape, que es una barra (\) en expresiones regulares.

Por tanto, si quieres escribir una expresión regular que coincida con cualquier secuencia

de caracteres, un punto, el nombre de un dominio, otro punto y finalmente cualquier

secuencia de caracteres, la expresión regular sería:

.*\.dominio\..*

13/18
SAD 2 ASIR
Observa que cuando hemos querido representar la coincidencia con el carácter punto (.)

se le ha puesto la barra delante (\.)

No obstante, la forma correcta y precisa de definir una expresión regular para dar una

coincidencia con un nombre de dominio seria por ejemplo:

^(.+\.)?(yahoo|messenger)\..+$

“^” significa el principio de la cadena, por ejemplo “^hola” da una coincidencia en la frase

“hola mundo” pero no en la frase “que tal, hola”, porque “hola” no está al principio de la

cadena de caracteres.

“(.+\.)?” es una subexpresión regular. Las subexpresiones regulares van entre

paréntesis. Lo que hay entre paréntesis indica: cualquier carácter 1 o más veces

seguido de un punto (.+\.). El “?” del final indica que esta secuencia o subexpresión

regular, puede aparecer 0 y 1 vez, es decir, no aparecer o aparecer una sola vez.

“(yahoo|messenger)” es otra subexpresión que indica que aparezca la palabra “yahoo” ó

la palabra “messenger”. La alternativa “ó” se expresa con la tubería |.

“$” significa el final de la cadena, por ejemplo “mundo$” da una coincidencia en la frase

“hola mundo” pero no en la frase “que tal mundo, hola”, porque “mundo” no está al final

de la cadena.

Vista esta breve introducción a las expresiones regulares, crea una acl que deniegue el

acceso a cualquier dominio de yahoo (www.yahoo.es, www.yahoo.com, es.yahoo.com,

fr.yahoo.com, www.yahoo.it, it.yahoo.com, etc, etc.) en squid y verifica que funciona.

14/18
SAD 2 ASIR
Puedes comentar la acl y la orden http_access creadas en al punto anterior. Escribe la

acl creada.

13. En este punto de la práctica vamos a habilitar un filtro que impida descargarse archivos

ejecutables como los .exe ni tampoco comprimidos con Winzip ni con WinRAR, es decir,

las extensiones .zip y .rar. Este tipo de filtros pueden ser necesarios para evitar que

ningún usuario se descargue ejecutables potencialmente peligrosos que además

pueden estar ocultos dentro de ficheros comprimidos. Las razones de restringir

determinados tipos de archivos no son siempre por razones de seguridad sino a veces

por cuestiones de utilización ancho de banda. Por ejemplo podemos denegar las

descargas de vídeos o audio para que no consuma el ancho de banda de la empresa.

Para crear estos filtros en squid debes utilizar las acl's de tipo urlpath_regex. Busca en

los comentarios del fichero squid.conf la sintaxis para crear filtros con expresiones

regulares basadas en la url (no en el dominio, como antes). En el ejemplo que tienes en

el fichero, se muestra como definir un patrón para ficheros gif. Observa que se utiliza el

carácter $ en la expresión regular. Este carácter indica que lo buscamos debe estar al

final de la línea. Por ejemplo, para evitar que se descarguen mp3, la expresión regular

sería “\.mp3$”.

Crea por tanto una acl que restrinja el acceso a ficheros con extensión “.exe”, “.rar”,

“.zip”, “tar.gz” o “.iso”. Después, intenta descargarte desde la web de ubuntu la iso de

la última versión y verifica que no puedes hacerlo porque es un fichero denegado por el

proxy.

15/18
SAD 2 ASIR
14. En este punto de la práctica veremos cómo restringir al acceso a la web en función del

día y la hora. Para ello squid disponde del tipo de acl time. La sintaxis general es la

siguiente:

acl nombre time [dias] [h1:m1-h2:m2]

Donde nombre es el nombre de la acl, días (opcional) es la abreviatura de los días de la

semana pudiendo ser los siguientes:

S - Domingo
M - Lunes
T - Martes
W - Miércoles
H - Jueves
F - Viernes
A – Sábado
y las horas (opcional) son con el formato de horas y minutos que se especifica en la

sintaxis. Los días y las horas son opcionales pero al menos debe estar presente uno de

ellos. Por ejemplo para denegar el acceso desde las 8 de la mañana hasta las 7 de la

tarde los lunes, martes y miércoles haríamos:

acl deniega_tiempo time MTW 8:00-19:00

Teniendo en cuenta la fecha que tienes en Fedora, crea una acl que permita navegar a

partir de unos minutos después de la hora actual y sólo durante un par de minutos, sin

importar el día de la semana.

15. Reinicia squid y comprueba que sólo puedes navegar cuando llegue esa hora y durante

los minutos que has especificado. Para escribir la acl, ten en cuenta que es más fácil

definir el tiempo durante el cual quieres que se navegue y después aplicar un http_deny

con la negación de la acl (con el carácter ! delante del nombre de la acl).

Configuración de la caché web en Squid

16/18
SAD 2 ASIR
16. Como ya hemos visto en clase, una de las funcionalidades más útiles de un proxy http

es la posibilidad de guardar en su caché los contenidos anteriormente visitados. En

squid podemos hacer uso de esta funcionalidad que ya viene habilitada por defecto. En

este punto de la práctica vamos a ver algunas de los parámetros que utiliza squid para

gestionar su caché.

17. El parámetro maximum_object_size especifica en kilobytes el tamaño máximo de los

objetos que serán guardados en la caché de disco. Por defecto son 4MB, por lo tanto,

una petición http de un tamaño mayor de 4MB no se almacenará en el disco.

El parámetro minimum_object_size especifica en kilobytes el tamaño mínimo de los

objetos que serán guardados en la caché de disco. Por defecto son 0 KB, es decir, no

hay un mínimo. Si especificas un valor de 4KB quiere decir que los objetos que ocupen

menos de 4 KB no se guardarán en disco.

El parámetro maximum_object_size_in_memory especifica memoria ram del

servidor proxy. Squid utiliza caché de memoria ram y caché de disco para acelerar la

navegación. Con los parámetros cache_replacement_policy y

memory_replacement_policy se establecen las políticas de reemplazo de los objetos

en ambas cachés y que no entraremos en ellos ya que dejaremos sus valores por

defecto. Únicamente debes saber que el algoritmo de reemplazo por defecto es el LRU

(Last Recent Used) que significa que los objetos que han sido menos usados

recientemente son eliminados de la caché.

Configura Squid para tener un tamaño mínimo de objetos en disco de 4KB y un

tamaño máximo de objeto en disco de 8MB. Configura Squid para tener un

tamaño máximo de objeto en memoria de 32 KB.

17/18
SAD 2 ASIR
18. El parámetro cache_dir se utiliza para establecer donde se guarda la caché y qué

tamaño en MB que se desea que tenga el cache en el disco duro para Squid, es decir,

¿cuánto se desea almacenar de Internet en el disco duro? Por defecto Squid utilizará un

cache de 100 MB, como indica la siguiente línea:

cache_dir ufs /var/spool/squid 100 16 256

El directorio /var/spool/squid es donde Squid guardá la caché de disco. Se puede

incrementar el tamaño del cache hasta donde lo desee el administrador. Mientras más

grande el cache, más objetos de almacenarán en éste y por lo tanto se utilizará menos

el ancho de banda. La siguiente línea establece un cache de 700 MB:

cache_dir ufs /var/spool/squid 700 16 256

Los números 16 y 256 significan que el directorio del cache contendrá 16 subdirectorios

con 256 niveles cada uno. No modifiques estos números, no hay necesidad de hacerlo.

Es muy importante considerar que si se especifica un determinado tamaño de cache y

este excede al espacio real disponible en el disco duro, Squid se bloqueará

inevitablemente. Configura Squid para que tenga una caché de 1 GB (1 gigabyte).

Utiliza el comando du de Linux para saber cuanto está ocupando en disco en este

momento en MB la caché de Squid y anota el valor. Utiliza la ayuda del comando du (du

–help) para mostrar el total en MB del directorio de caché de Squid (/var/spool/squid).

¿Cuál es el comando y las opciones que debes usar para saber cuanto ocupa la

cache de Squid?

DEBES entregar un documento con las respuestas a las preguntas de esta

práctica y las modificaciones que has realizado en el fichero squid.conf (no

incluyas el fichero squid.conf entero con comentarios)

18/18

También podría gustarte