Lunes Abril 29 , 2024
Text Size
   

Control de ancho de banda con mod_cband

manuales - Server

Esta solución está dirigida sobre todo a aquellos usuarios de ADSL que deseen servir páginas web desde su servidor casero. El objetivo es restringir el ancho de banda total a una cierta web o a un cierto directorio, aunque el módulo permite realizar control de ancho de banda por transferencia, es decir, limitar que un usuario o virtualhost pueda consumir tráfico más allá de una cierta cantidad (p.ej: 500 megabytes)...

Fuente: Apache-es http://www.apache-es.org/

Mod_cband se puede descargar desde http://cband.linux.pl/ .

 

IMPORTANTE: en las últimas versiones de linux, sobre todo aquellas en las que realizamos la instalación del modulo mod_cband desde el gestor de paquetes (yum, apt-get...) el archivo de configuración de cband se encuentra en vi /etc/httpd/conf.d/mod_cband.conf

Para usuarios de Apache 1, recomiendo utilizar mod_throttle. Si me lo pedís haré un articulillo de como instalarlo y configurarlo proximamente.

Tras descargarlo, lo descomprimimos con tar zxvf mod-cband-0.9.7.4.tgz

Para instalarlo, entramos en el directorio con las fuentes y ejecutamos “./configure”, “make”, y “make install”.

Ahora editamos el fichero httpd.conf, y añadimos la línea para cargar el módulo,

LoadModule cband_module /usr/lib/apache2/modules/mod_cband.so

Y posteriormente añadimos:

CBandScoreFlushPeriod 1
CBandRandomPulse On

Son dos directivas que según el creador del módulo mejoran el rendimiento del módulo en sí.

Para funcionar, también necesitamos crear un directorio en donde mod_cband va a almacenar los datos de los usuarios e IPs, así como los datos referentes al ancho de banda consumido, etc…

mkdir /var/run/scoreboard
chown apache:apache /var/run/scoreboard

Sustituid apache:apache por el usuario y el grupo con el que funciona Apache en vuestro servidor. En el fichero httpd.conf añadimos:

CBandScoreboard /var/run/scoreboard

La sintaxis para limitar ancho de banda es muy sencilla, y podemos configurarla para todo el servidor, o bien dentro de un virtualhost o particular.

CBandSpeed 512 5 15

Limitaría el ancho de banda total de ese servidor, o ese virtualhost a 512 kbps (cuidado, kiloBIT), con 5 conexiones por segundo de tope, y 15 conexiones abiertas y activas en total.

Si, por ejemplo, queremos limitar el ancho de banda por usuario, es decir, que cada usuario no pueda exceder una determinada velocidad de descarga:

CBandRemoteSpeed 15kb/s 3 3

Esto limitaría a cada usuario a 15 kilobit/segundo, con 3 conexiones por segundo y 3 conexiones activas en total.

Antes de reiniciar el servidor web para activar los cambios de configuración, es importante restringir esta URL.

 

SetHandler cband-status Order deny,allow
Allow from laip_que_quieras Deny from All

 

Permiten ver las estadísticas de consumo de ancho de banda, y, obviamente, no es algo que querramos que vea todo el mundo.

Mod_cband es bastante potente, y permite limitar ancho de banda por cantidad de tráfico. Por ejemplo:

CBandLimit 200M
CBandScoreboard /var/www/scoreboard
CBandExceededURL http://www.miservidorweb.com/limite_sobrepasado.html
CBandPeriod 4W

Dicha configuración limitaría el tráfico de un cierto virtualhost a 100 MegaBYTES por mes (CbandPeriod 4W indica que el periodo para resetear el contador es de 4 semanas). Además, al exceder el tráfico máximo permitido les enviaría a la URL http://miservidorweb.com/limite_sobrepasado.html.

Hay más módulos para controlar el ancho de banda, como mod_bandwidth y mod_throttle. Personalmente, recomiendo este para servidores Apache 2.0.

 

Usar puntuación: / 1
MaloBueno