Limitando el ancho de banda con CBQ

0
1209

Cuando instalamos un FW, de la forma mas sencilla o compleja para una institucion, area gubernamental, etc. tenemos la encomienda configurar y poner a puesta los servicios y servidores en optimas condiciones y que los recursos esten bien administrados.

Uno de los recursos mas importantes es el consumo de ancho de banda, para ello es necesario tomar ciertas politicas que nos llevara a la administracion de las QoS. En un servidor GNU/Linux podemos limitar el ancho de banda de las descargas o del trafico entrante y de como administrar la conexion a internet para que sea mas eficiente.

Aqui proporcionaremos de manera sencilla como limitar el trafico entrante evitando
así que los usuarios de nuestra LAN consuman todo el ancho de banda de nuestra conexión a Internet.

Esto resulta útil cuando nuestra conexión es lenta o nuestros usuarios suelen descargar toneladas de mp3s, archivos en formato iso, inclusive las últimas distribuciones de Linux.


Antes de inciar,imaginemos la siguiente situación:

• Disponemos de una conexión a Internet por módem de 115,2 kbits/s ppp (115,2/10 = 11,5 kbytes/s).

Nota: Con conexiones eht0 (tarjeta de red) dividiríamos 115,2 por 8; con ppp lo dividimos por 10 a causa de los bits de inicio/parada (8 + 1 + 1 = 10).

• Tenemos algunas máquinas en una LAN y sus usuarios llevan a cabo enormes descargas todo el tiempo.
• Queremos que las páginas web se carguen rápido, no importa cuántas descargas se estén llevando a cabo.
• Nuestra interfaz de Internet es ppp0.
• Nuestra interfaz de la LAN es eth0.
• Nuestra red es 192.168.1.0/24

Si nuestro dispositivo de internet es ppp0 y el de la LAN es eth0, limitaremos el tráfico que salga de la interfaz eth0 limitando así el tráfico entrante por ppp0.

Para hacerlo usaremos el CBQ y el shell script cbq.init. Puede obtenerse de ftp://ftp.equinox.gu.net/pub/linux/cbq/.

Descargar el shell-script cbq.init-v0.6.2 o la version mas reciene y colóquelo en /etc/rc.d/. También es necesario instalar iproute2, eset paquete Viene con todas las distribuciones de Linux.

Configuracion:
Creamos los archivos de configuracion correspondientes, por ejemplo uno llamado cbq-10.ftp-network en el directorio /etc/sysconfig/cbq/

# touch /etc/sysconfig/cbq/cbq-10.ftp-network
Insertamos en él las siguientes líneas:
DEVICE=eth0,10Mbit,1Mbit
RATE=15Kbit
WEIGHT=1Kbit
PRIO=5
RULE=:20,192.168.1.0/24
RULE=:21,192.168.1.0/24

Nota: La descripcion de cada una de las lineas anteriores estan descritas en el archivo cbq.init

Sin embargo, la configuracion anterior no es el tema en si, si no mas bien, son los programas p2p y que las configuraciones son las siguientes:

Creamos un archivo llamado cbq-50.p2p-network en el directorio /etc/sysconfig/cbq/:

# touch /etc/sysconfig/cbq/cbq-50.p2p-network

Colocar las siguiente líneas en dicho archivo:
DEVICE=eth0,10Mbit,1Mbit
RATE=35Kbit
WEIGHT=3Kbit
PRIO=5

#Windows Media Player.
RULE=:1755,192.168.1.0/24

#Real Player usa el puerto TCP 554, para UDP usa puertos diferentes
#pero por lo general RealAudio por UDP no consume demasiado ancho de banda.
RULE=:554,192.168.1.0/24
RULE=:7070,192.169.1.0/24

#Napster usa los puertos 6699 y 6700 ¿quizá algún otro más?
RULE=:6699,192.168.1.0/24
RULE=:6700,192.168.1.0/24

#Audiogalaxy usa los puertos del 41000 al 41900 más o menos.
#Son muchos así que tenga en cuenta que no los listo todos aquí.
#Repetir cerca de 900 líneas similares no tendría demasiado sentido.
#Simplemente cerraremos los puertos del 410031 al 41900 mediante ipchains o
#iptables.
RULE=:41000,192.168.1.0/24
RULE=:41001,192.168.1.0/24

#seguir del 41001 al 41030
RULE=:41030,192.168.1.0/24

#Algunos usuarios algo astutos pueden conectarse a servidores SOCKS al
#usar Napster, Audiogalaxy, etc. También es una buena idea hacerlo cuando
#ejecute su propio proxy SOCKS.
RULE=:1080,192.168.1.0/24

#Añada cualquier otro puerto que quiera, puede comprobar fácilmente
#cuál usa cada programa con IPTraf.
RULE=:port,192.168.1.0/24

No olvide cerrar el resto de puerto (41031-41900) de AudioGalaxy por medio de ipchains o iptables.

Núcleos 2.2.x.
/sbin/ipchains -A input -s 192.168.1.1/24 -d ! 192.168.1.1 41031:41900 -p TCP -j REJECT
Núcleos 2.4.x. q
/sbin/iptables -A FORWARD -s 192.168.1.1/24 -d ! 192.168.1.1 –dport 41031:41900 -p TCP -j REJECT

Agregarlas a su shell-script de FW.

Para limitar el ancho de banda de otros programas p2p, hay que crear otro archivo de configuracion

etc/sysconfig/cbq/cbq-15.ppp.

Inserte en él las siguientes líneas y ni Kazaa ni Audiogalaxy subirán archivos a más de 15 kbits/s. Asumimos que su interfaz de salida a internet es ppp0.

DEVICE=ppp0,115Kbit,11Kbit
RATE=15Kbit
WEIGHT=2Kbit
PRIO=5
TIME=01:00-07:59;110Kbit/11Kbit
RULE=,:21
RULE=,213.25.25.101
RULE=,:1214
RULE=,:41000
RULE=,:41001
#Y así hasta :41030
RULE=,:41030

Si se desea aprovechar el ancho de banda para un solo usuario en horas de no trafico, entonces existe una manera facil de hacerlo (00:00-07:59) es decir, desde las 12:00am – 07:59am solo es insertar al finar del archivo de configuracion la siguiente linea:

TIME=00:00-07:59;110Kbit/11Kbit

y ejecutar nuevamente el shell-script del CBQ.

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here