Inicio / Tutoriales / Implantación de un Proxy/caché en Linux con Squid

Implantación de un Proxy/caché en Linux con Squid

Cuando hablamos de proxy/caché dentro del lenguaje de servidores, nos referimos a un servidor el cual tiene un servicio configurado que le permite guardar información sobre el contenido solicitado por un usuario dentro de su misma red, generalmente información sobre páginas webs, de esta forma en lugar de que el cliente tenga que esperar la respuesta de la web para obtener los documentos necesarios y mostrar la página, dicho servidor previamente configurado y dentro de su red local le podrá proporcionar dichos documentos siempre y cuando no estén caducados y por lo tanto, se aceleraría bastante el proceso.

proxy cache linux

Implantación de un Proxy/caché en Linux con Squid

Paso uno: Implantación del programa

En primer lugar debemos instalar la aplicación dentro del servidor, para ello ejecutaremos el siguiente comando:

  • Instalación de la aplicación
Aptitude install squid

La red local que hemos usado en el tutorial es la de 10.0.0.0/24 y el servidor principal posee la dirección IP 10.0.0.100.

A continuación debemos editar el fichero de configuración de squid el cual se encuentra situado en /etc/squid/squid.conf

Ahora debemos definir una serie de configuraciones iniciales, en primer lugar editaremos la cantidad de memoria RAM que queremos asignarle a la caché de almacenamiento:

  • Cantidad de memoria para asignar a la caché
Cache_mem 64 MB

Ahora debemos definir el lugar donde queremos que se almacene dicha caché, es decir, los archivos que posteriormente solicitarán los clientes por el proxy, en este caso hemos definido esta localización:

  • Ubicación de la memoria caché
cache_dir ufs /var/spool/squid3 1000 16 256

También debemos definir la ACL (lista de control de accesos) la cual debe de ser del tipo src (source o fuente). Básicamente lo que debemos de hacer es decirle indicarle a la ACL cuál es nuestra dirección de red local junto con su máscara y un alias y decirle que acepte todas las peticiones que vengan de las máquinas de dicha red local, para ello:

  • Definición de la lista de control de accesos
acl localnet src 10.0.0.0/24 | http_access allow localnet
Con acl localnet src 10.0.0.0/24 le estamos diciendo a la ACL que la dirección IP que le hemos indicado tendrá un alias denominado localnet y con http_access allow localnet le estamos indicando que acepte las peticiones http de la red o máquina cuyo alias sea localnet, el cual hemos definido previamente.

Para finalizar, debemos configurar el navegador web de un cliente habilitando el proxy e indicándole como dirección del proxy la Ip del servidor y como puerto el 3128 que es el que usa Squid por defecto. La ubicación de dichas opciones de configuración del navegador dependerá de cual utilicemos pero sin embargo, no debería ser demasiado difícil encontrarlas.

configuracion proxy en navegador

Hecho esto, reiniciamos el servicio:

  • Reinicio de squid
Service squid restart

Para comprobar que realmente nuestros clientes están utilizando el proxy debemos leer el fichero /var/log/squid/access.log y ver si se están generando registros de tipo TCP_MISS y TCP_HIT.

Paso dos: Denegación de páginas web

En el caso de que queramos denegar el acceso a los clientes a determinadas páginas web podemos realizar dicha configuración de forma relativamente fácil gracias Squid y sus ACL. Este nos permite bloquear direcciones de páginas webs las cuales tengan dentro de su dirección algunas palabras que establezcamos en la “lista negra”, por ejemplo porno, sexo, drogas…

A continuación os mostraremos un ejemplo, para ello crearemos una nueva ACL a la cual denominaremos controldecontenidos y la situaremos en /etc/squid/controldecontenidos, en esta lista introduciremos la siguiente información:

  • Sexo
  • Porn
  • Drugs

Ahora debemos decirle a squid la ubicación de la ACL simplemente editando su fichero de configuración e introduciendo la siguiente línea:

  • Definición de la ACL para la denegación de webs
Acl controldecontenidos url_regex src “/etc/squid/controldecontenidos”

Y también debemos indicarle las reglas que debe de seguir dicha ACL:

  • Regla a seguir por la ACL
http_access deny controldecontenidos

Finalizado esto ya tendremos instalado y configurado nuestro proxy/caché en Linux utilizando Squid, como puedes ver es fácil y rápido de hacer, además de ser útil y práctico.

Vea Tambien

descomprimir Linux

Descomprimir un archivo en Linux de dos formas distintas

Una de las ventajas que nos ofrece Linux es que hay muchas formas de llegar ...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *