squid para 4 subredes
Miguel Oyarzo O.
admin en aim.cl
Sab Feb 7 21:22:49 CLST 2009
Mario Hernandez escribió:
> Hola a todos, tengo una consulta sobre como mejorar el rendimiento de
> squid en un servidor.
> Tenemos actualmente squid funcionando a través de una lista de acceso
> en un archivo externo acl perfila src "/etc/squid/perfila" el cual
> contiene lo siguiente
> 192.168.200.0/255.255.255.0
> 192.168.202.0/255.255.255.0
> 192.168.203.0/255.255.255.0
> 192.168.204.0/255.255.255.0
>
> y funciona de las mil maravillas, no tenemos problemas con el cache ni
> con la cantidad de conexiones tcp.
>
> El problema es que prontamente se requerirá no dar permisos a un
> perfil determinado a través de una subred completa si no que a través
> de una IP en particular, realizamos pruebas y al intentar poner las
> cerca de 1000 IPs en un solo archivo del perfil, squid simplemente no
> levanta, y cuando lo hace corrompe el archivo
> /var/spool/squid/swap.state entre otros.
>
> ideamos una solucion para esto y es tener 1 instancia de squid por
> cada subred (todas llegan a la misma maquina), cada una con un puerto
> diferente, es decir
>
> squid -f /etc/squid/squid200.conf --> puerto squid 3128
> squid -f /etc/squid/squid202.conf --> puerto squid 3130
> squid -f /etc/squid/squid203.conf --> puerto squid 3131
> squid -f /etc/squid/squid204.conf --> puerto squid 3132
>
> con la precaucion de tener un archivo pid y un directorio para el
> cache diferente en cada instancia. En teoria esto debiese solucionar
> nuestro futuro problema. La pregunta es que si hay alguna solucion más
> "elegante" para este problema, me refiero si hay algun parametro de
> squid que me permita manejar una lista tan extensa con direcciones IP.
> Tambien está la opcion de hacer balanceo de carga pero por ahora sólo
> disponemos de un equipo para ser usado como proxy.
>
> Atte.
> Mario Hernandez
No deberias tener esas 4 instancias corriendo de esa manera, es muy
ineficiente en terminos de rendimiento y administracion (sobre todo si
tienes usuarios moviles).
Deberias intentar SquidGuard, maneja archivos db para evitar esos
tremendos consumos de memoria con archivos grandes de IPs. No se
exactamente lo que hace en la memo pero me parece que comprime las
direcciones de la misma clase y las accede con hashing (asi como
indices), entonces el consumo de memoria es muy bajo y el arranque del
servidor es rapidisimo.
Sino, tendrias que intentar squid-mysql-acl (no lo he probado, pero
pareciera que tambien resuelve el problema de las listas largas en la
memory)
Saludos,
Miguel Oyarzo
Austro Internet S.A.
Punta Arenas
Más información sobre la lista de distribución Linux