Control de tráfico en IPCop 2

Es común que nuestros usuarios con su infinita “habilidad” saturen el ancho de banda de nuestra instalación, a veces basta con la descarga de un archivo mediante bittorrent o un Ares mal configurado para dejar fuera de servicio al resto de los usuarios pero ya no más, no señor (o eso espero).

He pasado una semana haciendo algunos experimentos con el script rc.trafficlimit con buenos resultados.

Es un script muy simple, solo hay que especificar algunos límites, la tarjeta de red en la que que va a aplicar las reglas, ejecutar el script y monitorear los resultados.

Les advierto que les comparto mis mejores resultados, supongo que en sus propias instalaciones la configuración puede variar o se puede ajustar para lograr un rendimiento óptimo. Se aceptan sugerencias y comentarios para mejorarlos.

Descargar el script.

Lo primero es descargar el script, lo pueden hacer desde los foros de IPCop en esta dirección:

Descargar script

http://www.ban-solms.de/downloads/trafficlimit-ipcop-2.0.tar.gz

MD5SUM 719bbbc7a6cbda7349ecf86bcc8b36eb

Este es mi archivo personalizado:

Configurar y ejecutar el script.

Antes de ejecutar el script primero hay que personalizarlo respondiendo 3 preguntas.

¿Cual zona voy a controlar?

Los que manejamos IPCop sabemos que esta divido por zonas de colores, RED para el tráfico externo, GREEN para el tráfico interno, BLUE para el inalámbrico y ORANGE para la zona desmilitarizada.

En mi caso aplique el script a la zona roja

#which device to shape
DEV=$RED_1_DEV

Pero si quieren controlar otras zonas solo tienen que cambiar el valor de DEV a:

  • $GREEN_1_DEV
  • $BLUE_1_DEV

¿Cuales direcciones ip internas voy a controlar?

Esto se ajusta en las siguientes líneas:

# limit IP 192.168.1.2, IPrange 192.168.1.0/24 or complete device 0.0.0.0/0
IP=192.168.0.0/24

Como ven, puede aplicar los límites a una sola tirección IP, a todo un rango de direcciones o a todo el dispostivo, en mi caso aplique el control a todas las direcciones internas de mi red.

Establecer los limites

Esto es lo realmente interesante, establecer algunos límites:

# from IPCop to IP/network
DOWN_MAX=100mbit
DOWN_LIMIT=2mbit
# from IP/network to IPCop
UP_MAX=100mbit
UP_LIMIT=2mbit

Como pueden ver hay un máximo de subida y de bajada y también sus limites correspondientes.

En este caso establecí como máximo el tope de transmisión de la tarjeta de red y un limite de 2mbit que es a fin de cuentas un valor cercano al final de mi ancho de banda de internet, digamos por ejemplo que tengo 3mbit, luego entonces tendré 1mbit extra libre para cualquier contingencia (o eso quiero pensar).

Para ejecutar el script primero hay que darle los permisos necesarios con:

chmod 755 /etc/rc.d/rc.trafficlimit

y luego para ejecutarlo:

/etc/rc.d/rc.trafficlimit restart

Para monitorear el comportamiento de la red utilizo nload que me permite revisar en tiempo real el comportamiento de las tarjetas de red de IPCop.

nload
nload monitoreando el comportamiento de las tarjetas de red.

Ejecutar el script desde el arranque.

Si todo funciona bien y están contentos con los resultados pueden hacer que el script se ejecute durante el arranque, para eso necesitan agregar al archivo /etc/rc.d/rc.event.local las siguientes líneas.

if [ ${1} == "network" -a ${2} == "up" ]; then
[ -e /etc/rc.d/rc.trafficlimit ] && /etc/rc.d/rc.trafficlimit restart
fi

Espero que este consejo les sirva, pero no esta demás orar poque Dios nos libre de los usuarios con iniciativa. 😛

Referencias

2 comentarios en “Control de tráfico en IPCop 2”

  1. Uhh!!! esos usuarios nunca faltan. Desde hace una semana en la facultad filtraron bajar ISOs desde http://….iso, torrents desde el vamos esta prohibido, no se puede. Instalar cualquier exe tampoco se puede, y entonces me preguntaba y si le doy click donde dice ftp://…iso, BINGO!, je je je Deja de dar ideas de filtrado 😀 ja ja, por fin el año pasado nos sacaron el filtro de youtube Saludos

    1. Bueno, siendo justos, este consejo no es un filtrado, más bien es un control para que no acaparen el ancho de banda, así que te conviene más este consejo que los filtrados 🙂

¡Me encantaría saber que opinas!