Squid

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

É un servidor proxy para web publicado baixo licenza GPL. Entre as súas utilidades está:

  • mellorar o rendimento das conexións de empresas e particulares a Internet gardando en caché peticións recurrentes a servidores web e DNS
  • acelerar o acceso a un servidor web determinado
  • engardir seguridade realizando filtrados de tráfico

Squid é unha aplicación moi consolidada, considerada considera moi completa e robusta o que a converte en software de referencia como servidor proxy-caché de web.

Está incluido en distribucións GNU/Linux pero tamén se pode executar en entornos tipo Unix ; e hai algunas versións para MS Windows e Mac OS X.

Linux

Instalación

Actualizar os repositorios
sudo apt-get update
Instalación do paquete squid
sudo apt-get install squid

É necesario confirmar pulsando y, e pode pedir a instalación de squid-commons.

Configurando o Squid Proxy Server

O ficheiro de configuración de Squid atópase en 
/etc/squid/squid.conf
E contén as seguintes directivas:
http_port: porto de escoita do proxy, 8080, 3128 ou outro
visible_hostname: IP ou DNS do nome do servidor
error_directory: /usr/share/squid/errors/Galician/
Un exemplo sinxelo sería:
http_port 3128
visible_hostname proxy.omeuproxy.local
error_directory /usr/share/squid/errors/Galician/

Para iso, edita o ficheiro de configuración

sudo nano /etc/squid/squid.conf

E fai os seguintes cambios:

1. Atopa http_port
Habitualmente esta fixado para escoitar no porto 3218, que normalmente leva o tráfico TCP traffic. 
Se o teu sistema está configurado paara tráfico TCP debes cambialo eiquí.
Tamen podes fixar o modo do proxy a trasparente se queres que Squid non modifique os teus requests e responses.
http_port 1234 transparent
2. Atopa http_access deny all
Esto bloquea todo o tráfico HTTP. Cambiao a:
http_access allow all
3. Atopa visible_hostname
Engádelle calquera nome a esta entrada; así será como aperecerá o servidor a calquera que se intente conectar. 
4. Garda os cambios e sal.
5. Reinicia o servizo Squid:
sudo systemctl restart squid


PENDENTE DE REVISIÓN

A primeira vez (despois de editar o ficheiro archivo de configuración para la creación de carpetas, reserva de memoria, etc.) debemos executar:  /usr/local/squid -z Para arrincalo ás siguientes veces executaremos:

/usr/local/squid/bin/squid

Squid pódese arrincar, parar ou recargar cos parámetros start, stop ou reload.

Windows

Para Windows existe una versión de Squid que é compatible con NT4 SP4, 2000 Pro y Server, Server 2003, 2008 y 2010, XP Pro e Vista Business.

Instalación

Podese descargar desde: 
http://squid.acmeconsulting.it/download/dl-squid.html.
O ficheiro de configuración chamase 
C:/squid/etc/squid.conf.default.
Debemos renombralo como squid.conf para que funcione (hai que facelo con todos os ficheiros de extensión default)
Finalmente executaremos para que cree as carpetas e se quede como servizo de Windows:
C:/squid/sbin/squid –z
C:/squid/sbin/squid –i

Configuración de proxy cache

Para configurar o proxy cache engadiremos os siguientes parámetros ó archivo de configuración de Squid:

cache_mem 
cantidade de memoria RAM asignada para o proxy. Pode especificarse en kilobytes (KB), megabytes (MB) e gigabytes (GB) 
aconsellable  usar un 10% do disco duro asignado ó proxy ou un 2% do disco duro total (sen pasar da mitade da RAM).

cache_dir
Ten cinco parámetros. 
* Sistema de ficheiros. Habitualmente UFS (Unix File System, sistema de ficheros utilizado en Linux)
* Ruta onde se gardan os ficheiros temporales de cache
* Cantidade de disco duro usada para ficheiros temporais. Sempre en MB, e aconsellable o 20% do disco duro) 
* Nivel de carpetas anidadas que teremos como máximo (8 para Windows e 32 para Linux)
* Número máximo de ficheiros por carpeta (200 para Windows y 256 para Linux)
Exemplo
cache_mem 256 MB
cache_dir ufs /tmp 1024 32 256
Exemplo práctico 
Para un servidor proxy con 4 GB de RAM e 600 GB de disco duro, canto reservaríamos para cache_dir (disco duro para cache) 
Resposta
O mínimo, entre un 20% da capacidad do disco duro total: 122.880 MB ([600 x 1024] x [20/100]) 
O máximo sería 10 veces a RAM total (4.096 x 10 = 40.960). 
Sendo a cache_mem (memoria RAM para cache) directamente a metade da RAM, pois o 10% do disco duro reservado ou o 2% do disco duro total é maior que a propia RAM total.

Existe tamén a posibilidade de acelerar o proxy cos seguintes parámetros:

httpd_accel_host: nome do servidor proxy (IP, DNS ou o que puxemos no visible_hostname)
httpd_accel_port: porto que usaremos como proxy; para a aceleración usaremos o porto 80
httpd_accel_with_proxy: co valor on para activar a aceleración do proxy
httpd_accel_uses_host_header: co valor on convirte en transparente o proxy

Tarefas

  1. Instala Squid en Linux/Windows.
  2. Edita o ficheiro squid.conf comentando os valores por defecto (as directivas estudiadas).
  3. Configura
    1. un servidor proxy para o porto por defecto e tamén para o nome por defecto.
    2. un servidor proxy cache con 256 MB de RAM y 1.024 MB de disco duro.
    3. un servidor proxy transparente.
    4. un servidor proxy cache transparente.
    5. un servidor proxy cache calculando os espazos de RAM e disco duro en función das características do teu equipo.

Referencias