utilizar el modulo cband de apache para limitar las descargas
1.- apt-get install libapache2-mod-cband
2.- hacer enlaces simbólicos de los ficheros cband.conf cband.load en los
directorios /mods-available y mods-enabled de apache2
3.- en el virtualhost del ftp incluya esto
CBandRemoteSpeed 15kb/s 3 3
quedando asi
<VirtualHost *>
ServerName ftp.vcl.rimed.cu
ServerAdmin wilfre...@dominio.cu
DocumentRoot "/var/www/ftp"
# CBandSpeed 512 5 15
CBandRemoteSpeed 15kb/s 3 3
# 100MB virtualhost bandwidth limit
# CBandLimit 100000
# redireccionar cuando pase los 100 mb
# CBandExceededURL http://ftp.dominio.cu/linux/bandwidth_exceeded.html
AddDefaultCharset UTF-8
DirectoryIndex /httpdirindex/httpdirindex.php
RemoveHandler .php .phps .pl .cgi
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
ErrorDocument 404 /httpdirindex/httpdirindex.php
<Directory "/var/www/ftp">
Options FollowSymLinks MultiViews
Order Allow,Deny
Allow From All
</Directory>
</VirtualHost>
reinicie apache y digale a otro admin que descargue un fichero grande de su
ftp y le reportará 15 kb/s
======================================================================================================
Control de ancho de banda con mod_cband
Octubre 29th, 2006 por kitai
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).
Mod_cband se puede descargar desde http://cband.linux.pl/ .
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.
http://www.apache-es.org/index.php/2006/10/29/control-de-ancho-de-banda-con-mod_cband/
=========================================================================================
=================================
otra vía más completa
1.- apt-get install libapache2-mod-cband
2.- hacer enlaces simbólicos de los ficheros cband.conf cband.load en los
directorios /mods-available y mods-enabled de apache2
3.-copie esto en el fichero /etc/apache2/mods-available/cband.conf
<IfModule mod_cband.c>
<Location /cband-status>
SetHandler cband-status
</Location>
<CBandClass Conexion_Internas>
CBandClassDst 10.71.1.0/24
CBandClassDst 172.16.1.0/24
</CBandClass>
<CBandClass Conexion_Exteriores>
CBandClassDst 192.168/16
CBandClassDst 200.55/16
</CBandClass>
y en el vistualhost del ftp poner esto
<VirtualHost *>
ServerName ftp.dominio.cu
ServerAdmin wilfre...@dominio.cu
DocumentRoot /var/www/ftp
<Directory /var/www/ftp/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
<IfModule mod_cband.c>
CBandClassRemoteSpeed Conexion_Internas 3072kb/s 20 30
CBandClassRemoteSpeed Conexion_Exteriores 25kb/s 20 30
# este modulo es para ver el cband via web
#http://ftp.dominio.cu/cband-status-me
<Location /cband-status>
SetHandler cband-status
</Location>
<Location /cband-status-me>
SetHandler cband-status-me
</Location>
</IfModule>
===============================================
este es otro caso para lenny y me imagino que para squeeze pinche tmb
como regular ancho de banda para lenny ya que el modulo de cband no existe
en esta distribucion
apt-get install libapache2-mod-bw
# Activamos el modulo y reiniciamos el apache2
a2enmod bw
/etc/init.d/apache2 restart
# Editamos el Vhost y lo configuramos para que quede de esta forma
<VirtualHost *>
ServerName virtual.vcl.rimed.cu
ServerAdmin wh...@dominio.cu
DocumentRoot /var/www/virtual
<Directory /var/www/virtual/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
# Activar el modulo
BandwidthModule On
# Forzar el limite de todos los pedidos
ForceBandWidthModule On
# limite a 200kB/s (200 * 1024) este es para todas las redes
#Bandwidth all 204800
# limite a 3000kB/s (3000 * 1024) tambien puedes separalas (LAN)
Bandwidth 172.16.1.0/24 3072000
# limite a 15kB/s (15 * 1024) (WAN)
Bandwidth 192.168.159.0/24 15360
</VirtualHost>
#Reiniciamos el apache2 y listo
/etc/init.d/apache2 restart
# pero tambien para no complicarse mucho pues pueden descargar el modulo de
apache2 de cband de etch
# e instalarlo independiente y les va a pinchar = .
# descargarlo aqui
http://dominio.cu/linux/tools/libapache2-mod-cband_0.9.7.4-2_i386.deb
dpkg -i /lugar/donde/esta_el_modulo.deb
# hacemos los links simbolicos de mod-available a mod-enabled de los files
cband.conf
cband.load
# editamos el file cband.conf borramos todo y le ponemos nuestras redes
<IfModule mod_cband.c>
<Location /cband-status>
SetHandler cband-status
</Location>
<CBandClass Conexion_Internas>
CBandClassDst 172.16.1.0/24
</CBandClass>
<CBandClass Conexion_Exteriores>
CBandClassDst 192.168.159.0/24
</CBandClass>
# luego editamos el vhost para que nos quede asi.
<VirtualHost *>
ServerName prp.vcl.rimed.cu
ServerAdmin wh...@dominio.cu
DocumentRoot /var/www/blog
<Directory /var/www/blog>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
# REGULANDO EL ANCHO DE BANDA PARA VHOST CON CBAND
<IfModule mod_cband.c>
CBandClassRemoteSpeed Conexion_Internas 3000kb/s 20 30
CBandClassRemoteSpeed Conexion_Exteriores 15kb/s 20 30
</IfModule>
</VirtualHost>
# reiniciamos el apache2
/etc/init.d/apache2 restart
y listo todo
Whilo
__
M.Sc. Wilfredo Martínez Consuegra
Empresa Constructora de Obras para el Turismo
Cayo Santa María, Villa Clara.
En la tierra hace falta personas que trabajen más y critiquen menos,
que construyan más y destruyan menos,
que prometan menos y resuelvan más,
que esperen recibir menos y dar más,
que digan mejor ahora que mañana.
Ernesto Che Guevara
Message: 5
Date: Wed, 21 Dec 2011 20:31:47 -0000 (UTC)
From: Agustín Ybarra Ortega <ybar...@mpcfg.co.cu>
Subject: [Gutl-l] limitar velocidad descarga apache2
To: Lista cubana de soporte técnico en Tecnologias Libres
<gutl-l@jovenclub.cu>
Message-ID: <158f5ded-812e-45a9-87ee-062c74b9c6b9@servermp>
Content-Type: text/plain; charset=utf-8
hola lista quería saber si con el módulo BandWidth de apache2 podría
limitar un rango de direcciones IP, porque he buscado información sobre el
mismo y solo he encontrado referencia a una ip específica 192.168.1.1 o una
red completa 192.168.1.0/24, lo que quiero especificar es ej de la ip
192.168.1.15 a la 192.168.1.25 tengan compartido el mismo limite de ancho de
banda, no el limite para cada ip como seria el caso de declarar maquina por
maquina.
saludos
--
Tec. Agustín Ybarra Ortega
Seguridad Informática Materias Primas Cienfuegos
Linux User # 511734
Jabber ID # ybar...@mpcfg.co.cu
Teléfono # 515878 - 515887 ext 115
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de
virus 6721 (20111218) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l