Bueno pues aqui nuevamente relatando mis peripecias con el mundo de la seguridad, proxys y acceso a internet, resulta que tengo un cliente al cual le estamos haciendo una serie de implementaciones de VoIP, VPNs, Seguridad y Control de Acceso a Internet
Todo estaba marchando bien hasta que llegamos al punto de Control de Acceso, para esta parte utilizamos el ya muy conocido Proxy Squid, el cual es proyecto OpenSource que tiene como finalidad, compartir el acceso a internet, limitarlo y realizar restricciones.
Uno de los puntos mas relevantes en las empresas es evitar que los empleados pierdan tiempo con la gran cantidad de sitios , redes sociales y demas lindezas que la red de redes nos ofrece hoy en día, pero muchas veces esa tarea no es tan sencilla como realmente parece, es aqui donde Squid hace su gran entrada triunfal, ya que bien implementado es realmente una maravilla
Existen varios esquemas en el uso de Proxys, basicamente mencionare dos:
1.- Proxy Manual.- es el cual hay que poner directamente la configuracion en el navegador para poder usarlo, de otra manera no se tiene acceso
2.- Proxy Transparente.- Para el usuario no hay que hacer nada, el servidor NAT/Proxy se encarga de hacerlo y de aplicar las reglas de filtrado y acceso pertinentes
Bueno pero ¿Que es Delay Pools? es un concepto largo de explicar pero intentare resumir que es la manera en la que Squid maneja el filtrado de ancho de banda para poder descargar de internet.
Que ventajas ofrece esto, bueno pues simplemente podemos segmentar nuestro preciado Ancho de Banda en varios grupos para que no se saturen a usuarios que se puedan considerar criticos y a los que no requieren mucho acceso limitarles la velocidad, esto es realmente muy util en el caso de que la red este compartida con servicios como los de Voz IP ya que asi no afectamos la calidad de las lllamadas.
Veamos un pequeño ejemplo de una seccion del archivo de configuracion de squid
...........
delay_pools 3
delay_class 1 2
delay_class 2 2
delay_class 3 2
delay_parameters 1 -1/-1 -1/-1
#delay_parameters 2 -1/-1 16000/16000 -1/-1
delay_parameters 2 32000/32000 32000/32000
delay_parameters 3 16000/16000 16000/16000
delay_access 1 allow level1
delay_access 1 deny all
delay_access 2 allow level2
delay_access 2 deny all
delay_access 3 allow level3
delay_access 3 deny all
Que logramos con todas estas lineas de codigo, bueno pues supongamos que tenemos un acceso a Internet de 2MB (2048 kbps) pero queremos que ciertos usuarios no tengan limite en el uso, bueno esos los definimos en el nivel denominado level1 luego tenemos otro nivel que es el que estara limitado a 256 kbps esos usuarios se definen en el level2 y por ultimo tenemos usuarios que solo podran navegar a 128 kbps los cuales definimos en el level3 con esto logramos que no todos los usuarios devoren el ancho de banda y los que si lo requieren no se vean afectados por el resto.
Se que esto puede sonar algo complicado, pero para los que ya estan entrados en la configuracion de Squid puede resolverles algunas dudas, como siempre espero que esto sea util.
Un ultimo comentario, es que para que esto funcione Squid debe estar compilado con la opcion –enable-delay-pools de otra manera no va a funcionar, la buena noticia es que casi todas las distribuciones de linux ya incluyen esta opcion por defecto
Saludos
Dante Robles