Está en la página 1de 12

Manual completo de Squid (uso, instalacin y configuracin)

Squid es un popular programa de software libre que implementa un servidor proxy y un demonio para cach de pginas web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor web, guardando en cach peticiones repetidas a DNS y otras bsquedas para un grupo de gente que comparte recursos de la red, hasta cach de web, adems de aadir seguridad filtrando el trfico. Est especialmente diseado para ejecutarse bajo entornos tipo Unix. Squid ha sido desarrollado durante muchos aos y se le considera muy completo y robusto. Aunque orientado a principalmente a HTTP y FTP es compatible con otros protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS, SSL, y HTTPS. Ms informacin en http://es.wikipedia.org/wiki/Squid

Lo que se utilizo para las arrancar SQUID


Windows 2003 server Enterprise R2 sp2 actualizado a la fecha Un Buen Antivirus (recomiendo Free antivirus - Avira AntiVir) es suficiente y trae soporte para SQUID no nos va a dar problemas (en el caso de que usen WINXP con SQUID) sino por un antivirus de servidores en este caso KASPERSKY ANTIVIR FILE SERVER u otro que no le complique la vida a SQUID. Al menos una tarjeta de red recomiendo 2 (una para los clientes y otra para el acceso a internet ) porque recomiendo 2 aqu la explicacin:
o

Como SQUID para Windows no tiene IPTABLES (estoy viendo la manera que lo haga, no se sorprendan de que logre XD) entonces nuestros usuarios o los que queremos bloquear el acceso a ciertas paginas van a saltar las restricciones lo cual nos quitan nuestro preciado ancho de banda. En una tarjeta configuramos a los clientes que van a buscar a nuestros a nuestro server a navegar y la otra para el acceso a internet (este argucia se llama puente) que Windows se encarga de hacer realidad automticamente lo que no hace Linux. Si tenemos IP publica mejor la asignamos a la tarjeta de acceso a internet y la otra para los cliente sino solo dos IP locales (una para internet y otra para la local)

Ese primer post lo voy a realizar con 1 tarjeta de red luego ya posteare los cambios para 2 (los cambios son mnimos) Un tema que no quiero que se me escape es el hardware a utilizar que es el siguiente: 1. Un procesador P4 o compatible de al menos 1.7 o superior (esto si son solamente de 5 a 10 usuarios sino tendran que aumentarlo hasta un core2 do si desea colocarlo para 15 a mas usuarios y sus hbitos de navegacin)

2. Memoria mnima de 512MB dedicadas, ojo dedicada no compartida con el video integrado (como en lo anterior esto depende de la cantidad de usuarios a los que vamos a darles el servicio en este caso 5 a 15 est bien 512 dedicados es ms que suficiente hasta 30 usuarios 1GB y ms de 30 sube hasta 2GB) 3. Las tarjetas de red especficamente a los clientes van a conectarse debe de ser muy resistente al trfico que va resistir para lo cual recomiendo una REALTEK GIGABYTE que viene integrada en unas placas Intel o la misma Intel VE Conections es suficiente.

Lo estoy especificando porque seguro que van aterrizar foreros diciendo que no me funciona porque he seguido tu ejemplo de pies a cabeza y no me funciona.

SQUIDNT la versin 2.7.STABLE7 aqu el link Notepad++ (no recomiendo el notepad de Windows por que le mete caracteres raros haciendo que SQUID falle) aqu el link

Bueno manos a la obra


Ya habiendo descargado la versin que indique por favor guardar en la raz del disco c o donde est instalado el sistema operativo en mi caso es el squid-2.7.STABLE7-bin.zip Como una imagen vale ms que mil palabras aqu la captura

Lo descomprimimos y nos va dar la el siguiente carpeta que est encerrado en un cuadrito rojo se llama SQUID

Si le damos doble clic nos va dar la siguiente distribucin de carpetas que muestro en la imagen

Voy hacer especfico con esto pero no tocar absolutamente NADA de estas carpetas para evitar dolores de cabeza en vano. Bueno ahora nos dirigimos a la carpeta ETC haciendo doble clic sobre ella y nos va a dar el siguiente resultado.

Estos archivos son el corazn de SQUID yo recomiendo hacer un backup de estos archivos o en todo caso sacar del archivo comprimido una copia fresca para reemplazar estos archivos yo en este caso voy a crear una carpeta backup donde voy a poner una copia lo cual va quedar as.

Luego de haber hecho esto los archivos con extensin default se la retiramos y deben de quedar de esta manera

Luego de haber hecho esto ahora nos dirigimos al men inicio en la opcin ejecutar en donde tecleamos el comando cmd, luego damos enter para poder ingresar a la ventana de comandos de Windows; ya estando en este lugar digitamos ojo sin comillas para los que no saben DOS "cd \ " y le damos enter y luego hacemos un "cd squid " luego "cd sbin" y hacemos un dir lo cual nos debe mostrar esto.

En esta misma ventana digitamos el comando squid z para que SQUID cree los archivos que va a necesitar para su funcionamiento lo cual nos va a dar este resultado.

Esto quiere decir que vamos sin problemas por el momento; ahora tenemos que establecer a SQUID como servicio del sistema, para lo cual tecleamos el comando squid i y enter para poder colocarlo aqu una imagen de lo que les debe salir habiendo hecho el paso anterior.

Esto nos quiere decir que el SQUID ya est registrado y esta como servicio del sistema lo podemos comprobar nuevamente en el men inicio - ejecutar y escribir services.msc enter; nos debe de salir de la siguiente manera:

Como vern en la imagen el servicio SQUID est detenido; he visto en algunos casos que aparece ya iniciado a m personalmente me aparecido ya iniciado; bueno iniciado o

no, no da ningn problema de algn tipo; ahora iniciamos el servicio dndole clic en el vinculo iniciar para iniciar el servicio lo cual nos dar la siguiente imagen que muestro a continuacin.

Como se darn cuenta el cambio que sufre con respecto a la captura anterior el servicio ha cambiado de detenido a iniciado es mas aparecen 2 link nuevos que estn resaltados con un cuadrito rojo para que pueda ser bien percibido. Ahora bien ya que llegamos a este punto vamos a nombrar los comandos ms utilizados en SQUID en su funcionamiento para que los mas novatos lo puedan entender. Los comandos que se usan bastante son los siguientes: Cdigo: acl CONNECT method src url_regex urlpath_regex time MTWHFA dstdomain header_access

Nota: las palabras que estn en maysculas mantenerlo como esta excepto MTWHFA que son los das de la semana pero en ingles en este caso he puesto de lunes a sbado. En el archivo original squid.conf.defauld se encuentra la explicacin de cada uno de ellos ojo todo est en ingles; porque a m me gusta trabajar con archivos limpios para que se me haga fcil el acceso para poder depurar cualquier error que se presente. Bueno es hora de meter mano al archivo squid.conf que se encuentra en "c:\squid\etc\squid.conf" Ojo como vern utilizare el editor de texto notepad++ si usan otro pueden verse algunas diferencias.; antes que me olvide se uso el smbolo "#" (sin comillas) como comentario. Escribimos lo siguiente en el orden que figura Cdigo: # TAG: acl #Recommended minimum configuration: acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 ############################################### # Example rule allowing access from your local networks. # Adapt to list your (internal) IP networks from where browsing # should be allowed acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network ################################################ acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https 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 ############################################### ##########Aqui mis reglas ACLS######################### acl CONNECT method CONNECT acl MiRED src 192.168.1.0/24 acl PAGPORN url_regex "C:\squid\etc\[PALABRA CENSURADA].txt" acl PAGBLOCK url_regex "C:\squid\etc\bloqueadas.txt" acl EXTENSIONES urlpath_regex "C:\squid\etc\extensiones.txt"

acl refrigerio time MTWHF 13:00-14:00 acl salida time MTWHF 18:00-20:00 acl sabados time A 08:30-13:00 acl hotmail dstdomain .hotmail.com acl passport dstdomain .passport.net acl msn dstdomain .msn.com acl hotmail_domains dstdomain .hotmail.msn.com header_access Accept-Encoding deny hotmail_domains ############################################## ############Aqui le digo que permito o deniego##### #Recommended minimum configuration: http_access deny PAGPORN http_access deny PAGBLOCK !refrigerio !salida !sabados http_access deny extensiones http_access allow hotmail_domains http_access allow hotmail http_access allow passport ##Nose Pero Ayudan a Hotmail############ always_direct allow hotmail always_direct allow passport always_direct allow msn ############################## # Only allow cachemgr access from localhost http_access allow manager localhost http_access deny manager # Deny requests to unknown ports http_access deny !Safe_ports # Deny CONNECT to other than SSL ports http_access deny CONNECT !SSL_ports # #http_access deny to_localhost # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed http_access allow localnet # And finally deny all other access to this proxy http_access deny all # TAG: icp_access icp_access allow localnet icp_access deny all # TAG: http_port

http_port 8080 # TAG: hierarchy_stoplist #We recommend you to use at least the following line. hierarchy_stoplist cgi-bin ? # TAG: cache_mem (bytes) cache_mem 128 MB # TAG: cache_dir cache_dir ufs c:/squid/var/cache 1000 16 256 # TAG: access_log access_log c:/squid/var/logs/access.log squid # TAG: cache_log cache_log c:/squid/var/logs/cache.log # TAG: refresh_pattern refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 # TAG: upgrade_http0.9 acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9] upgrade_http0.9 deny shoutcast # TAG: broken_vary_encoding acl apache rep_header Server ^Apache broken_vary_encoding allow apache # Leave coredumps in the first cache dir coredump_dir c:/squid/var/cache # TAG: dns_nameservers dns_nameservers 208.67.222.222 208.67.220.220 # TAG: icon_directory icon_directory c:/squid/share/icons # TAG: error_directory error_directory c:/squid/share/errors/Spanish

Aqu una captura de los escrito en el archivo squid.conf

o que se me olvido de ingresar que despues de hacer esto estos cambios en necesario reiniciar el servicio squid, los pasos de como hacerlo estan detallados en el post pero por sicaso lo escribo clic en inicio- ejecutar - ecribir services.msc - buscar el proceso squid y darle en reiniciar eso es todo. tambien hago referencias en a unos txts

Cdigo: acl PAGPORN url_regex "C:\squid\etc\[PALABRA CENSURADA].txt" acl PAGBLOCK url_regex "C:\squid\etc\bloqueadas.txt" acl EXTENSIONES urlpath_regex "C:\squid\etc\extensiones.txt"

estos llaman a unos txt que contienen web y extensiones que ba a bloquear el squid si se fijan ahy esta la ruta. para que las modificaciones se de la reglas se vean tienen que reiniciar el servicio nuevamente y eso es todo bueno cualquier consulta hagamenlo saber muy pronto squi sobre linux en forma transparente, estoy dandole los ultimos detalles, haciendo pruebas de rendimiento para que todo estea 10 punto y poder compartilo con ustedes....