Instalación de un proxy caché

Si tienes una conexión de banda ancha tercermundista como en España, quizás sea una buena idea hacer uso de un proxy caché. Y ahora es posible que pienses: «Pero si eso era lo que ponía Telefónica para ahorrar ancho de banda la muy rácana». Pues bien, de eso se trata, de ahorrar el máximo caudal de conexión.

Te darás cuenta que si utilizas un navegador como Firefox o IE (Opera realiza una gestión más optimizada de la caché), muy a menudo se recargan imágenes que nunca cambian o que no lo hacen muy a menudo, como el logotipo de Google, y eso puede suponer una descarga de información tonta e inútil, porque para qué descargar dos veces algo que no va a cambiar de aquí a dos minutos.

O quizás te encuentres en la situación de que tienes una red local, donde todos los ordenadores acabarían descargando una y otra vez el logotipo de Google, cuando se podría hacer sólo una vez y ser utilizado por todos los equipos. Pues para esos casos se puede usar un proxy caché, como si fuese una memoria intermedia entre tu ordenado e Internet.

Haremos uso de Squid, que podremos instalarlo con un simple «apt-get install squid» o directamente desde Yast o cualquier otro gestor de paquetes. Después atacaremos su fichero de configuración alojado, normalmente, en «/etc/squid/squid.conf» con cualquier editor de texto como Kwrite o Gedit y, aunque viene muy bien documentado, os indicaré lo más imprescindible que editar.


Podremos indicar el puerto que queremos usar cambiando la línea que pone lo siguiente:

# Squid normally listens to port 3128
# http_port 3128

También podremos aumentar la memoria de caché para incrementar su soltura en la línea siguiente:

# cache_mem 8 MB

La parte importante será el directorio donde almacenará los datos temporales de Internet y el espacio que se le otorgará. Por defecto estará todo alojado en «/var/cache/squid» con un espacio de 100MB, algo que podremos cambiar buscando esta línea:

# cache_dir ufs /var/cache/squid 100 16 256

Después modificaremos la lista de acceso ACL para que sólo sirva a nuestra red local. Buscaremos el siguiente texto:

#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 SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

Y al final añadiremos una línea más para indicar que sólo las direcciones IP del estilo 192.168.0.* tengan acceso (es como una lista de acceso con nombre lan):

acl lan src 192.168.0.0/255.255.255.0

Ahora deberemos crear la regla que permita acceder a nuestros clientes. Buscaremos la siguiente línea:

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

Y debajo añadiremos:

http_access allow localhost
http_access allow lan

Ahora podremos guardar el fichero y hacer un «/etc/init.d/squid restart» para arrancar el demonio. Sólo quedará configurar nuestro navegador para que tome el proxy, por ejemplo, 192.168.0.1 en el puerto 3128.

Esto último lo podremos encontrar en Firefox 2 en «Editar->Preferencias->Avanzado->Conexión->Configuración->Configuración manual del proxy».

En Opera se hará desde «Tools->Preferences->Advanced->Network->Proxy Servers» y podremos activarlo/desactivarlo rápidamente desde «F12->Enabled proxy servers».

PD: en el fichero de configuración, si no quitamos el # del principio, la línea quedará comentada y no será interpretada por Squid.