jueves, 26 de mayo de 2011

Instalar proxy squid no transparente en debian lenny 5.0 squeeze 6.0centos 5.0 ( install proxy in linux centos 5.0 debian 5.0 lenny 5.0squeeze)

Deseamos instalar un proxy no transparente en nuestro equipo de computo para administrar una n cantidad de pcs, deberá tener en cuenta a cuantas maquinas piensa brindar este servicio, porque por ahí hay casos de personas que dicen: "Le coloco un proxy para mis 40 usuarios pero tengo una linea adsl de 1 MB" o.O ojo: esto trabaja bien solo para ver paginas pero para ver vídeos, descargar exe winbugs... como que tendrías que agregar quotas de ancho de banda ó en todo caso ampliar el mismo.


root@localhost# apt-get install squid 
root@localhost# cd /etc/squid
root@localhost# mv -v squid.conf squid.conf.man
root@localhost# vim squid.conf 
######################################################################
########################### Opciones de red ##########################
######################################################################

# Puerto de escucha
http_port               3128

######################################################################
########################## Opciones de cache #########################
######################################################################
# Patrones cuya coincidencia haran que no sean guardadas en la cache, util para las empresas cuya paginas internas tienen contenido dinamico.
acl QUERY urlpath_regex cgi-bin \? \.php \.asp
acl nocache dst "/etc/squid/nocache"
acl nocacheweb dstdomain "/etc/squid/acl/nocacheweb"

no_cache        deny    nocache
no_cache        deny    nocacheweb
no_cache        deny    QUERY

# Modelo de reemplazo de objetos de la cache para su mantenimiento y
# uso de espacio en disco
cache_replacement_policy heap LFUDA

#Modelo de reemplazo de objetos en la memoria para su mantenimiento y uso
memory_replacement_policy heap GDSF

#Maximo tamano de objetos en la cache, superior a ese tamaño serán descargados directamente a la maquina del usuario
maximum_object_size 156 MB

#Maximo tamano de objetos en la memoria, útil para que los objetos pesados sean colocados en la cache del disco 
maximum_object_size_in_memory 200 KB

# Cantidad de memoria que se usa para objetos en transito, es recomendable que sea dividido la memoria Real / 3 
cache_mem 650 MB

# El limite menor y mayor en porcentaje de uso del espacio designado
# para la cache. Dentro de esos limites se maneja el reemplazo de
# objetos antiguos
cache_swap_low 80
cache_swap_high 95

###########################################################
##################### Parametros administrativos #####################
###########################################################

# Usuario y grupo con el que se ejecuta Squid
cache_effective_user     proxy
cache_effective_group   proxy

# Direccion e-mail del administrador del proxy
cache_mgr               soporte@miempresa.com.pe

#nombre del host a mostrar a los clientes cuando sea rechazado una petición 
visible_hostname        host_mi_sede.miempresa.com.pe

##############################################################
########################## Rutas de archivos #########################
##############################################################

# Directorio de la cache y sus opciones, se almacenara los elementos descargados de la pagina web a la que se accedido
cache_dir               ufs /var/spool/squid 2000 16 256

# Ruta del archivo de registro de consultas de los clientes
cache_access_log        /var/log/squid/access.log

#Observas los log de manera mas detallada util al hacer tail -f /var/log/squid/cache.log
debug_options ALL,1 33,2
debug_options ALL,1

# Ruta de archivo de registro del desempeño de la cache
cache_log               /var/log/squid/cache.log

# Ruta del archivo de registro de los objetos guardados y removidos
# de la cache
cache_store_log         none

# Deshabilitar el registro de la swap de la cache
cache_swap_log          /var/log/squid/swap.log

# Archivo de registro del campo User-Agent para todas las peticiones
# HTTP
useragent_log           /var/log/squid/useragent.log

# Registrar los tipos MIME en cada peticion HTTP
log_mime_hdrs           off

# Ruta del archivo PID de Squid
pid_filename            /var/run/squid.pid

# Ruta del archivo de tipos mime
mime_table              /etc/squid/mime.conf

######################################################################
#################### Soporte de funciones externas ###################
######################################################################

# Direccion a ser validada por servidores FTP en conexiones anonimas
ftp_user                soporte@mi_empresa.com.pe

# Usar FTP pasivo
ftp_passive             on

##############################################################
######################## Opciones misceláneas ########################
##############################################################

# Numero de rotaciones a realizar en los logs
logfile_rotate          3

# Idioma usado para los mensajes de error mostrados por Squid
error_directory         /usr/share/squid/errors/Spanish

# Visitas directas siempre para la siguiente ACL
always_direct           allow nocache

# No mostrar la IP desde la que el cliente hace la peticion
forwarded_for           off

##############################################################
######################### Control de accesos #########################
##############################################################
# Listas de acceso genéricas
acl all  src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl mired 172.16.3.0/24
http_access     allow   localhost
http_access     allow   mired 
http_access     deny    all

Esta configuración es básica, permite que tus usuarios accedan a internet a todas las páginas si deseas restringir el acceso será motivo de otro tutorial.

3 comentarios:

pupilo dijo...

Gracias por el aporte es de gran ayuda, te comento que actualmente en la empresa donde trabajo tenemos un appliance propietario configurado en modo NO TRANSPARENTE donde se conectan aproximadamente 2000 usuarios de los cuales son recurrentes unos 1100, tengo un enlace de 30MB, estan creadas politicas que applica a usuarios y grupos que se validan en un active directory, los usuarios configuran en su browser la direccion del proxy para navergar y hay algunos usuarios que estan como VIP que no tienen restricciones.

Estoy en la evaluacion de probar squid a manera de que se pueda sustituir el appliance por uno o varios servidores con squid.

Como no tengo la experiencia y tengo algunas dudas antes de andar a cigas te realizo las siguientes preguntas esperando no abusar de tu tiempo.
1)Cuales consideras o crees que serian las caracteristicas que debe de tener el sevidor o servidores (ram, CPU, disco,etc) para instalar y atender la carga de unos 2000 usuarios tomando en cuenta que las maquinas seran virtuales.,
2)Se puede configurar squid a manera que soporte conexion a sitios como youtuve, redes sociales, streaming, chat "MSN, googleTalk, etc",
3) Se puede configurar squid para que acceda al Active Directory y valide las credenciales de los usuarios para que aplique las politicas segun los grupos y usuarios asignados,
4) hay algunos usuarios que pertenecen a un grupo VIP y no se les aplican algunas restricciones y algunos de ellos se conectan por estaciones de trabajo que tienen MAC como sistema operativo, por lo que la validacion de estos usuarios es diferente a la de el resto de usuarios, se pude validar o hacer algo similar en squid.
5) hay algun software que sirva para graficar los log de squid para realizar reportes de navegacion de usuarios.

person por aprovechar este espacio pero considero y creo que se debe preguntar a quien sabe y segun veo en tu blog conoces mucho, espero no haber causado molestia con mi comentacio,

en espera de nocias muy agradecido, saludos desde Guatemala

loquitoslack dijo...

Hola que tal como estas 1100 usuarios una cantidad regular mira para eso te recomiendo un proxy que cumpla ciertos estandares por ejemplo:
1) 1 servidor hp proliant ml110 g7 con 4 GB de ram, de preferencia quad core un disco sata de 250 GB de los cuales otorges al squid una cantidad de 20 GB, si quieres hacer cache de actualizaciones subelo a 250GB.
2) Si se puede configurar para que soporte dichas conexiones todo depende de las acl que tu apliques, puedes usar un squid no transparente para que tus usuarios esten restringidos al maximo con un shorewall de firewall
3)Bueno con respecto a active directory eso se configura en sus GPO (politicas)
4) claro existe la acl arp que te permite validar por mac o instalar un dchp y a dicha mac le das accesos libres, recuerda que debes tener conceptos claros de lo que son acls XD
5) claro hay varios para eso puedes usar el mrtg, que te da una idea del cosnumo de la cache, del consumo de la linea etc.. y para ver el contenido que navegan tus usuarios puedes usar el sarg

xD un gusto desde lima peru puedes escribirme a mi correo eflores at ich dot edu dot com o en todo caso a loquitoslack at gmail dot com

loquitoslack dijo...

posdata: no se muxo .. :D en realidad solo se que nada se xD pero gracias XD por decirme que se XD

 
;