Squid Proxy Cache Instalación en Fedora Core

Squid-cacheSquid Proxy Cache es un servidor que actúa como intermediario entre una red e Internet para lo cual guarda en cache peticiones recurrentes a servidored web y de DNS, asi mismo acelera el acceso a un servidor web y proveé de seguridad mediante el filtrado del tráfico de Internet.

El proceso de instalación en Fedora Core es por demás sencillo, nuevamente recurriremos a yum. Y como ya es sabido, requerimos de acceso tipo root para la instalación.

Instalación

1. Accedemos a nuestro servidor y obtenemos acceso tipo root.

Linux console | jpacheco@aex-proxy1 ~
[jpacheco@aex-proxy1 ~]$ su
Password:
[root@aex-proxy1 ~]#

2. Ejecutaremos la instalación usando: yum como se muestra a continuación.

Linux console | root@aex-proxy1 ~
[root@aex-proxy1 ~]$ yum -y install squid
Loaded plugins: langpacks, refresh-packagekit
Resolving Dependencies
–> Running transaction check
—> Package squid.i686 7:3.3.13-1.fc20 will be installed
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
squid i686 7:3.3.13-1.fc20 updates 2.5 M

Transaction Summary
================================================================================
Install 1 Package

Total download size: 2.5 M
Installed size: 8.7 M
Downloading packages:
squid-3.3.13-1.fc20.i686.rpm | 2.5 MB 00:07
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
Installing : 7:squid-3.3.13-1.fc20.i686 1/1
Verifying : 7:squid-3.3.13-1.fc20.i686 1/1

Installed:
squid.i686 7:3.3.13-1.fc20

Complete!

[root@aex-proxy1 ~]#

3. Para asegurarnos de que SQUID arrancara cada vez que iniciemos nuestro equipo usaremos systemctl.

Linux console | root@aex-proxy1 ~
[root@aex-proxy1 ~]$ systemctl enable squid.service
ln -s ‘/usr/lib/systemd/system/squid.service’ ‘/etc/systemd/system/multi-user.target.wants/squid.service’
[root@aex-proxy1 ~]#

Los siguientes comandos te sirven para controlar el servidor:

systemctl start squid.service <- Arranca SQUID systemctl status squid.service <- Muestra el estado de SQUID systemctl stop squid.service <- Detiene la ejecución de SQUID

Listo, Squid esta instalado y listo para arrancar automaticamente al encender el servidor.

Posts relacionados:
Squid Proxy Cache | TCP_MISS/304 TCP_MISS/200

UACH – Maestría en Software Libre – Introducción al Software Libre

Soy un engresado de la carrera de Ingeniería en Sistemas Computacionales del Instituto Tecnológico de Durango generación 1994 – 1999, durante mi época de estudiante recuerdo que alguno de mis maestros menciono un nombre: Linus Torvalds y su sistema operativo Linux (que para ese entonces era la novedad – no que ya no lo sea; aclaro).
Me hubiera gustado entrar en el mundo del Software Libre mientras estudiaba la carrera, yo pensaba que todo era código propietario y lo demás no servia. Pero como dicen en mi tierra: “las cosas pasan por algo”.

Tuvieron que pasar cinco años hasta que un antiguo compañero de trabajo me presentara oficialmente con el mundo de Linux, recuerdo instalar RedHat 8 en una computadora Dell Latitude Cpx; un año después ya en 2005 otro compañero de trabajo me invito a las sesiones del GLUCH y fue ahí donde conocí el movimiento del Software Libre.

De 2004 a la fecha he pasado por cuatro empresas distintas desempeñando diversos cargos en el área de Sistemas y en todas las empresas de una u otra manera he hecho uso del Software Libre en mis actividades diarias.

En mas de una vez el Software Libre me ha salvado el pellejo cuando no ha sido SQUID como servidor proxy,  ha sido Nagios con el monitoreo de equipos, SAMBA para compartir archivos entre usuarios, o incluso algún desarrollo Linux+Apache+MySQL+PHP (LAMP) que me permitido salir al quite de alguna solicitud extraña de mis jefes. En infinidad de ocasiones un Live CD de Fedora me ha ayudado a recuperar de un disco duro información que ya habíamos dada por perdida.

Una de las cosas (ademas de las personales y económicas) que me han motivado a estudiar la maestría en Software Libre ha sido el concepto de comunidad: el como los líderes del Software Libre han podido dejar de lado sus diferencias (hasta cierto punto) para lograr que un ente tan grande y tan heterogéneo puede operar con un único fin, el de ayudarse unos a otros a través del software.

Un concepto muy interesante que muchos de nuestros políticos deberían desarrollar. Pero ese es tema de otro ensayo.

Honestamente, he de decir que al comenzar la maestría no sabia que esperar, habían pasado ya 12 años desde la última clase que tome,  se me hacia muy difícil combinar el trabajo, esposa e hijo con  la maestría. Además creía (erróneamente) que ya sabia  bastante del movimiento y por lo mismo pensaba que había muy poco que aprender, afortunadamente estaba equivocado desde la primer sesión me di cuenta que había mucho mas por aprender.

Finalmente he de decir que espero que al final de la maestría pueda dar validez a todos los conocimientos que he adquirido de manera autodidacta sobre el movimiento del Software Libre a lo largo de los años.

En la primera sesión de la maestría y después de las obligatorias presentaciones, lo primero que se me vino a la mente fue: “todavía faltan dos horas y media para que se acabe la clase”; lo se no es la mejor mentalidad de un estudiante de maestría.

Pero grata fue la sorpresa, las sesiones de tres horas a la semana se convirtieron en una amena charla, donde alumnos y profesor compartíamos opiniones, experiencias e incluso porque no, discutimos cuando no  podíamos llegar a un acuerdo en alguno de los conceptos o temas que estábamos viendo en la sesión.

Rápidamente pasamos de la historia del Software Libre  (personajes y aportaciones), a las licencias de software, derechos de autor, estándares abiertos, modelos de desarrollo, incluso le dimos una breve pasada a los conceptos tales como retorno de inversión y costo total de propiedad.

Cuando hablabamos de los personajes del Software Libre me llamo mucho la atención que personajes tales como De Icaza, Torvalds y Raymond hayan tenido (y tengan hasta la fecha) sus diferencias con Stallman pero que aun así siguieran participando activamente en el movimiento. No quiero decir con esto que Stallman sea el mandamás del movimiento, pero sin lugar a dudas es uno de los que mas ha influenciado.

Cuando abordamos el tema de las licencias de software en la tercera sesión tengo la seguridad de que todos sabíamos que existían licencias como la GPL, LGPL, EULA y Creative Commons, pero: ¿Apache,  Mozilla Public License, BSD License, CDDL? ¡Yo jamás habia escuchado de esas licencias!
Yo pensaba que habia solo dos tipos de licencias: propietarias y de código libre y abierto; pero no es así, se dividen en mas. En esta sesión aprendí algo nuevo.

Al abordar el tema de los estándares abiertos tuve mi primer desencuentro al enterarme de que en Venezuela ya cuentan con la definición de estándar abierto, mientras que en México no nos podemos poner de acuerdo en cosas tan básicas como: la generación de empleo, la seguridad y la educación.
No me lo tomen a mal, no tengo nada en contra del pueblo venezolano, al contrario, espero que algún día los políticos mexicanos legislen algo similar tomando como ejemplo la legislación venezolana, pero ¿que podemos esperar si al momento de escribir estas lineas se discute en el Senado la aprobación del ACTA?

Mientras hablábamos de modelos de desarrollo llegue a la conclusión que una de las razones por las que el movimiento ha crecido tanto ha sido por el sentido de pertenencia.

El hecho de cualquier persona puede formar parte del movimiento, y no necesariamente como desarrollador, si no también como documentador, ‘beta tester’ y embajador promoviendo el uso del Software Libre mediante charlas; le da al movimiento la fuerza para seguir, gente entra y sale del movimiento todos los días, pero las  cabezas siguen hasta hoy en dia: la economía social del movimiento es la moneda de cambio que la da la fortaleza.

“El Software Libre no te hará rico pero te dará de comer” dijo en alguna ocasión Ivan Chavero, y contrario a lo que mucha gente piensa, SI SE PUEDE HACER DINERO con el Software Libre, la gente esta tan mal acostumbrados a  traducir “Free Software” como “Software Gratuito” que inmediatamente se piensa: “No voy a poder lucrar con el”, pero no es así, el concepto “Free Software” se debe traducir y entender como “Software Libre”, porque tienes la libertad de hacer con el lo que quieres, incluso puedes hacer dinero con el.

Existen actualmente modelos de negocios muy rentables e interesantes: desarrollos a la medida, pólizas de soporte, certificaciones y distribución.
De hecho, a ultima fechas fabricantes de equipo de computo como Dell, comercializan sus equipos con un sistema operativo basado en Software Libre, cosa impensable hace algunos años, otra forma de hacer dinero.

En la ultima sesión del curso tuvimos la oportunidad de hablar sobre el Software libre en las computadoras de escritorio y el datacenter.
En mi opinión, y sin lugar a dudas dentro de algunos años el Linux sera el Sistema Operativo preferido para los datacenter.

Actualmente trabajo para Teleflex Inc, en el area de Service Desk para America, tengo a mi cargo un equipo de cuatro personas y aunque la empresa corre sus aplicaciones basicamente en soluciones de licencia cerrada o de codigo propietarion, nos las arreglamos para usar Software Libre para hospedar nuestra bases de conocimientos.

Es un servidor basado en Fedora Core 14 donde corremos los siguientes servidores: base de datos (MySQL), servidor web (Apache), consola remota (SSH), carpetas compartidas (SAMBA) y un proxy cache (Squid); ademas de programar soluciones especificas basados en Perl y PHP. En el mismo servidor hospedamos: un foro (BBForum), una wiki (Wiki) y un software de gestión de proyectos (dotProject).

La wiki es la herramienta que mas usamos hasta es momento, es la base de conocimientos al dia de hoy cuenta con mas de 500 artículos.
Conforme crezca la operación del Service Desk y lo enlacemos con los Service Desk de Irlanda y Malasia esperamos que en menos de un año se duplique el numero de entradas en la wiki.

El foro, lo usamos como una herramienta de colaboración que nos permite discutir temas de una manera no tan formal, los temas no críticos son subidos al foro y todos los miembros del equipo colaboramos aportando nuestro personal punto de vista, con el foro no dependemos de horarios.

El curso de Introducción al Software Libre me ha dado la oportunidad de conocer otras herramientas que en un futuro próximo estaremos usando.
Hasta antes del curso el control de versiones de los desarrollos era llevado a mano, mediante la copia del código fuente a un segundo servidor donde posteriormente se realizaba una análisis para determinar que archivo debía ser usado, ya se imaginaran el número de carpetas con diferentes versiones del mismo código.
En este momento estamos evaluando usar ya sea GIT o CVS para el control de versiones.

En un futuro me gustaría estar involucrado en las actividades de monitoreo de servidores y equipo de red usando Nagios.

En general el curso de Introducción al Software Libre rebaso mis expectativas, no solo tuve la oportunidad de recordar conceptos con los que yo estaba familiarizado si no que ademas tuve exposición a temas que desconocía por completo.

En la actualidad el uso del Software Libre esta a la alza y dentro de poco tiempo las empresas buscaran mas a profesionales de Tecnologías de Información con experiencia en Software Libre.

Esta maestría es un ejemplo del auge e impulso que tendrá el Software Libre y el hecho de que México sea el primer país en ofrecerla en toda América es para mi un indicio de que vamos por buen camino,
El gran despegue del Software Libre en México en mi opinión se dará cuando: se tenga una legislación similar que en Venezuela, cuando en las escuelas publicas de México tengamos maquinas corriendo Software Libre y cuando las empresas le pierdan el miedo.

La gran versatilidad de Linux,  ya sea que se use como computadora de escritorio o servidor, permitirá que su adopción sea mas rápida.

Los primeros pasos se han dado ya.

Squid Proxy Cache | TCP_MISS/304 TCP_MISS/200

Si corres un servidor proxy cache como Squid es posible que encuentres en el archivo: /var/log/squid/access.log entradas que hagan referencia a TCP_MISS/304TCP_MISS/200, ver a continuacion:

Linux console | $ tail -f /var/log/squid/access.log
24/Jan/2008:15:29:25 +0000 1861 10.125.4.247 TCP_MISS/304 358 GET http://techbase.kde.org/Projects/KDE_on_Windows/Installation – DIRECT/138.246.255.177 -bsg75.mynetwork.com 2374
24/Jan/2008:16:45:45 +0000 897 10.125.4.247 TCP_MISS/200 11344 GET http://techbase.kde.org/skins/oxygen/css.php? – DIRECT/138.246.255.177 text/css bsg75.mynetwork.com 2545

TCP_MISS/200 – Veras estas entradas en el log cuando lo que estes intentando descargar no este en el cache del servidor. Lo que siginifica que sera descargado desde el servidor web.

Toma en cuenta que los scripts no se pueden almacenar en cache, esto aplica para los archivos con terminacion .pl o .php entre otros.

TCP_MISS/304 – Al igual que el anterior significa que el archivo que intentas descargar no esta en el cache del servidor proxy, pero si esta almacenado en el cache de tu navegador de internet.

En este caso el navegador enviara una solicitud de descargar solo si el archivo en el servidor web es mas reciente que el del cache de tu navegador..

Cultura general.