Como configurar SQUID, el Proxy-Cache de Internet

Supondremos que hemos instalado el SQUID que viene con cualquier instalacion de Linux (tambien existe para windows, pero no lo he probado).
En esta articulo me basare en el Debian 5

El Squid se configura desde un unico fichero, el /etc/squid.conf, que facilita mucho las cosas.

En este ejemplo vamos a usar dos equipos, un servidor(192.168.0.1) y un cliente(192.168.0.2) que accede a traves del servidor
Recordar que el directorio /etc/squid debe pertenecer al usuario ‘squid’ y al grupo ‘squid’, con los privilegios 775

Una vez tenemos todo esto, nos metemos con el fichero para configurar el SQUID.
El fichero /etc/squid.conf, es muy sencillo de configurar ya que todos los comandos internos estan comentados para facilitar la configuracion.
Los comandos basicos necesarios los puedes buscar y poner los valores por defecto, pero para tener una idea, los que me funcionan bien:

http_port 3128
icp_port 3130
cache_swap_low  90
cache_swap_high 95
maximum_object_size 4096 KB
cache_dir ufs /mnt/squid 100 16 256
cache_access_log /mnt/squid/access.log
cache_log /mnt/squid/cache.log
cache_store_log /mnt/squid/store.log
client_netmask 255.255.255.0

Esta parte es muy importante ya que se dan los permisos para que se pueda acceder a la cache. Fijaros en dos lineas que he puesto para dar permisos a las IPs del 192.168.0.1 –> 192.168.0.255

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 mipc src 192.168.0.0/255.255.255.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 70 210 1025-65535
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 CONNECT method CONNECT 

#Default configuration:
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
http_access allow localhost
http_access allow mipc
^^^^^^^^^^^^^^^^^^^^^^
http_access deny all

Una vez has hecho los cambios necesarios en el fichero de configuracion deberas hacer:
1.- Para crear todo el sistema de ficheros y directorios que usara Squid ejecutando:
root# squid -z

2.- Ejecutar el Squid para que funcione a partir de ese instante.
<!– Para lo cual solo tienes que ejecutar:
root# squid -NCd1 A partir de ahora deberias crearte un fichero ejecutable que llamara a este comando para que cada vez que se reinicie el servidor tengas activado el Squid Para hacer esto creamos un fichero llamado ‘empezar_squid’ en /usr/bin/ tal que asi:
squid -NCd1 Ahora le cambiamos las propiedades al fichero y le damos la propiedad de ejecucion:
usuario /usr/bin$ chmod +x empezar_squid Ahora lo que nos interesa es que al arrancar el Linux nos ejecute el, fichero que hemos creado antes ‘empezar_squid’. Nos vamos al fichero /etc/rc.d/rc.local, lo editamos y añadimos al final del todo antes de que ponga ‘fi’ esta linea:

 [...]  cp -f /etc/issue /etc/issue.net  echo >> /etc/issue  #  -aqui empieza lo que añadimos   -  #iniciar el SQUID  /usr/bin/empezar_squid  #  -aqui termina lo  que añadimos   -  fi

–> Escribe ‘setup’ y elige ‘System Services’, y activa con el espacio la opcion del squid

A partir de ahora cada vez que inicies el servidor podras tener tu propio cache.

El cliente
Para poder emplear el Proxy-Cache, tendras que configurar cada Navegador de cada PC con los datos de la Cache. En este ejemplo pondremos:
IP-Proxy: 192.168.0.1
Puerto: 3128

NUEVO

Controlar el tamaño de los ficheros
Para facilitar el control de los clientes y puedas controlar el tamaño de los ficheros o paginas que se bajan, hay unas linias en el fichero de configuracion que se encargan de eso.
Puedes jugar con los KB para ajustarlo a tus necesidades

Busca en el fichero squid.conf:

# OPTIONS FOR TUNING THE CACHE
request_header_max_size 10 KB
request_body_max_size 512 KB
reply_body_max_size 512 KB

Redireccionar el puerto de acceso a la web
Como redireccionar el puerto 80 que usan los clientes por defecto al puerto del Squid sin que los usuarios se den cuenta de nada

Suponermos que ya tenemos funcionando el Squid tal y como hemos hecho en los pasos anteriores, ya comentamos la forma de usar Squid en los clientes cambiando en cada uno de ellos el puerto al que tienen que acceder. Pero imaginemos que tenemos muchos PCs, seria un trabajo de chinos tener que ir uno a uno para hacer esta tonteria, pues lo que vamos a hacer es redireccionar el puerto 80 al que usemos con el Squid, pero solo en el servidor

Me baso en el articulo que hice sobre instalar un servidor con el Cablemodem de ONO, ya que su pueden usar varias de las cosas que comento para este caso. Ahora creamos un fichero llamado ‘compartir’ en /usr/bin/ tal que asi:

echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -j MASQ -s 192.168.2.0/16
#Redireccionar el puerto 80 al 3128
/sbin/ipchains -A input -j REDIRECT 3128 -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 80

Ahora le cambiamos las propiedades al fichero y le damos la propiedad de ejecucion:
usuario /usr/bin$ chmod +x compartir

Ahora lo que nos interesa es que al arrancar el Linux nos ejecute el, fichero que hemos creado antes ‘compartir’. Nos vamos al fichero /etc/rc.d/rc.local, lo editamos y añadimos al final del todo antes de que ponga ‘fi’ esta linea:

    [...]
    cp -f /etc/issue /etc/issue.net
    echo >> /etc/issue
    # ---aqui empieza lo que añadimos-------
    #compartir conexion a internet
    /usr/bin/compartir
    # ---aqui termina lo  que añadimos-------
    fi

Una respuesta a Como configurar SQUID, el Proxy-Cache de Internet

  1. Every weekend i used to go to see this website, because i want enjoyment, for the reason that this this web page conations in fact fastidious funny stuff too.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: