Squid proxy – Parte 1

Hola a todos, pueden llamarme Brody. Soy especialista del área de centro de datos, tambien un fanboy del mundo de linux por el simple hecho que hace mi vida y trabajo mas fácil. Piensenlo!

De este punto en adelante, los tratare de «tú» de una forma mas impersonal, mas en confianza. Mis tutoriales no serán de solamente instalar un servicio y ya, te daré todos los conocimientos y herramientas necesarias para que exprimas al máximo las capacidades de cada característica de una aplicación, cualquier duda manda un mensaje al inbox

Squid no es solamente un servicio de proxy y cache, puede hacer mucho mas: manejar acl (listas de acceso), filtrar contenido, hasta puede hacer filtrado ssl aun en modo transparente (método de proxy – sin tener que configurar en las opciones de proxy de sus navegadores, es como man in the middle, nadie sabe que esta ahí). Entonces comúnmente veo como se desperdicia todo el potencial de esta aplicación por no saber configurar cada una de sus partes.

Pero lo primero es lo primero, veamos solo la caracteristica de proxy.

Instala:

aptitude install squid3

Edita el archivo de configuración:

vi /etc/squid3/squid.conf

  • http_port ip:puerto

Un ejemplo seria http_port 172.16.128.50:3128  el servicio sera prestado por la ip y puerto especificados, particularmente yo no te recomendaría dejar el puerto 3128 por defecto en un ambiente de producción.

  • acl localnet src  ip/mascara

Un ejemplo seria acl localnet src  172.168.128.0/24 la lista de acceso general (lo mas macro posible) que tendrá acceso a dicho servicio. localnet es como se llama la acl, pero podrías colocar el nombre que quisieras ahí.

  • http_access allow localnet

Sencillo http_access allow localnet el mismo nombre que colocaste en el item anterior, aquí permitimos a esta red, navegar y usar los servicios de squid

  • quick_abort_min 0KB
  • quick_abort_max 0KB

Momento en que abortamos alguna petición. Te lo explico mas detallado: cuando un usuario esta navegando a través de tu proxy y cancela una petición o descarga, tienes 3 opciones, si la descarga falta menos de quick_abort_min 80KB entonces igual Squid la descargara, si la descarga le falta mas que quick_abort_max 150 KB entonces se cancelara de inmediato, si ambos se configuran en 0KB como es el caso, la descarga finaliza apenas el usuario cancela.

  • read_timeout 5 minutes

Este es el tiempo en que durara abierta una sesión del servidor siempre y cuando no haya una nueva lectura, por ejemplo en una pagina estática, no es necesario un valor muy elevado pero en paginas dinámicas como facebook este es un valor aceptable

  • request_timeout 3 minutes

Este valor podría ser mucho menor, depende de la calidad de la conexión wan de tu servidor y la cantidad de clientes que tengas. Este parámetro hace referencia al tiempo máximo de espera por las cabeceras http de una petición, después de establecer la conexión.

  • half_closed_clients off

Evita que queden conexiones medio cerradas debido a errores de comunicación. No quieres dejar bajo ningún concepto que se desperdicien los recursos de tu servidor.

  • shutdown_lifetime 15 seconds

Esta etiqueta permite acortar el tiempo de espera para cerrar los procesos de squid cuando se hace un SIGTERM o SIGHUP

  • log_icp_queries off

Este lo dejo a tu discreción, por defecto viene on, y es para registrar en log cada query realizado al cache del proxy.

  • dns_nameservers 8.8.4.4 8 8.8.8.8

Las consultas dns seran realizadas a estas ip’s separadas por espacio, si ninguna es definida se usan por defecto los dns de tu sistema

  • dns_v4_first on

Bueno depende del pais o configuraciones de tu entorno, pero en mi caso no tengo DNS ipv6, entonces coloca por defecto que todo sea consultado primero a en ipv4

  • ipcache_size 2048

Numero máximo de entradas en el cache dns de squid

  • ipcache_low 90

El tamaño menor de entradas cache dns.

  • fqdncache_size 4096

Numero maximo de entradas FQDN en la cache

  • memory_pools off

Desactivamos que se reserve memoria RAM para futuros procesos de squid, si en tu servidor es un recurso muy escaso

  • forwarded_for off

si quieres evitar que vean tus ip privadas desde la wan, las peticiones llegaran con un unknown, o en tal caso ru ip wan

iniciamos la cache

squid3 -z

Reiniciamos el servicio

service squid3 restart

Para finalizar solo debes colocar en tu navegador, en opciones de proxy la ip y puerto, listo debes estar navegando

Esto es todo por esta ocasión, ya saben que con esto tendrán un squid bien robusto, en próximas entradas haremos cache con squid