[CentOS-es] limitar ancho de banda con cbq

Julio Cesar Velasquez Mejia jcvelasquez en cableunion.com.co
Vie Ago 17 16:57:57 UTC 2007


Buenos Días Juan Carlos, Yo igualmente estoy realizando investigaciones
sobre la administración de BW mediante un  servidor Linux, he encontrado
varias soluciones y me encuentro realizando pruebas si quieres podemos
intercambiar ideas y dudas al respecto. 

Julio Cesar Velasquez M.
MSN: orzalaga(arroa)gmail(punto)com

---------------------------------------------------------
De: centos-es-bounces en centos.org [mailto:centos-es-bounces en centos.org] En
nombre de Juan Carlos Silva R
Enviado el: miércoles, 15 de agosto de 2007 12:10
Para: centos-es en centos.org
Asunto: [CentOS-es] limitar ancho de banda con cbq

Saludos... tengo una inquietud con el control de ancho de banda mediante
cbq... tengo una red tras un servidor linux con ip publica, el objetivo es
hacer que toda la red no pase de un consumo de 192k...pero este script no me
permite hacer tal cosa de igual manera el consumo sobrepasa lo marcado...y
ademas quiero bloquear a la ip .2 a solo 64kbit lo tengo hecho de la manera
detallada a continuacion pero no me ubico donde estoy fallando ya que he
buscado y seguido las recomendaciones de este foro pero sigo teniendo el
mismo problema.. tambien quisiera que me orienten si puedo bloquear con este
script el Lime Wire y las actualizaciones automaticas de windows que cuando
una pc usa ese programa no hay script que funcione o puede deterner el
exesivo consumo que genera..!!!! GRACIAS por las recomendaciones que sean
indicadas
#!/bin/sh
IPTABLES=/sbin/iptables
TC=/sbin/tc
CBQ=/sbin/cbq.init
OK="\033[1;0m [ \033[00;32mOK \033[1;0m]\033[0m"
echo -e "Ancho de banda Asignado: $OK"
$CBQ stop
# ******** Control Ingreso de Paquetes de la Red *************************#
$IPTABLES -t mangle -A PREROUTING -j MARK -p tcp -s 201.208.245.19
--set-mark 1
$IPTABLES -t mangle -A INPUT -j MARK -p tcp -s 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A OUTPUT -j MARK -p tcp -s 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A PREROUTING -j MARK -p udp -s 201.208.245.19
--set-mark 1
$IPTABLES -t mangle -A INPUT -j MARK -p udp -s 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A OUTPUT -j MARK -p udp -s 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A PREROUTING -j MARK -p tcp -s 192.168.1.1/28
--set-mark 2
$IPTABLES -t mangle -A INPUT -j MARK -p tcp -s 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A OUTPUT -j MARK -p tcp -s 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A PREROUTING -j MARK -p udp -s 192.168.1.1/28
--set-mark 2
$IPTABLES -t mangle -A INPUT -j MARK -p udp -s 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A OUTPUT -j MARK -p udp -s 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A PREROUTING -j MARK -p tcp -s 192.168.1.2/28
--set-mark 3
$IPTABLES -t mangle -A INPUT -j MARK -p tcp -s 192.168.1.2/28 --set-mark 3
$IPTABLES -t mangle -A OUTPUT -j MARK -p tcp -s 192.168.1.2/28 --set-mark 3
$IPTABLES -t mangle -A PREROUTING -j MARK -p udp -s 192.168.1.2/28
--set-mark 3
$IPTABLES -t mangle -A INPUT -j MARK -p udp -s 192.168.1.2/28 --set-mark 3
$IPTABLES -t mangle -A OUTPUT -j MARK -p udp -s 192.168.1.2/28 --set-mark 3
# ===>> Control Egreso de Paquetes de la Red <<=== #
$IPTABLES -t mangle -A PREROUTING -j MARK -p tcp -d 201.208.245.19
--set-mark 1
$IPTABLES -t mangle -A INPUT -j MARK -p tcp -d 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A OUTPUT -j MARK -p tcp -d 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A PREROUTING -j MARK -p udp -d 201.208.245.19
--set-mark 1
$IPTABLES -t mangle -A INPUT -j MARK -p udp -d 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A OUTPUT -j MARK -p udp -d 201.208.245.19 --set-mark 1
$IPTABLES -t mangle -A PREROUTING -j MARK -p tcp -d 192.168.1.1/28
--set-mark 2
$IPTABLES -t mangle -A INPUT -j MARK -p tcp -d 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A OUTPUT -j MARK -p tcp -d 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A PREROUTING -j MARK -p udp -d 192.168.1.1/28
--set-mark 2
$IPTABLES -t mangle -A INPUT -j MARK -p udp -d 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A OUTPUT -j MARK -p udp -d 192.168.1.1/28 --set-mark 2
$IPTABLES -t mangle -A PREROUTING -j MARK -p tcp -d 192.168.1.2/28
--set-mark 3
$IPTABLES -t mangle -A INPUT -j MARK -p tcp -d 192.168.1.2/28 --set-mark 3
$IPTABLES -t mangle -A OUTPUT -j MARK -p tcp -d 192.168.1.2/28 --set-mark 3
$IPTABLES -t mangle -A PREROUTING -j MARK -p udp -d 192.168.1.2/28
--set-mark 3
$IPTABLES -t mangle -A INPUT -j MARK -p udp -d 192.168.1.2/28 --set-mark 3
$IPTABLES -t mangle -A OUTPUT -j MARK -p udp -d 192.168.1.2/28 --set-mark 3
# ===>> Control de Ancho de Banda a 192Kbit <<=== #
$TC qdisc add dev eth0 root handle 1: cbq bandwidth 100Mbit avpkt 1000 cell
8
$TC qdisc add dev eth1 root handle 2: cbq bandwidth 100Mbit avpkt 1000 cell
8
$TC class add dev eth0 parent 1:0 classid 1:1 est 1sec 2sec cbq bandwidth
10Mbit rate 192Kbit allot 1514 cell 8 weight 1 prio 1 maxburst 20 avpkt 1000
bounded
$TC class add dev eth1 parent 2:0 classid 2:1 est 1sec 2sec cbq bandwidth
10Mbit rate 192Kbit allot 1514 cell 8 weight 1 prio 1 maxburst 20 avpkt 1000
bounded
#*************************----bloqueo a 64kbit a ip 2*******************
$TC class add dev eth0 parent 1:0 classid 1:2 est 1sec 2sec cbq bandwidth
10Mbit rate 64Kbit allot 1514 cell 8 weight 1 prio 1 maxburst 20 avpkt 1000
bounded
$TC class add dev eth1 parent 2:0 classid 2:2 est 1sec 2sec cbq bandwidth
10Mbit rate 64Kbit allot 1514 cell 8 weight 1 prio 1 maxburst 20 avpkt 1000
bounded
#--------------------*****************************************************
$TC filter add dev eth0 protocol ip handle 1 fw classid 1:1
$TC filter add dev eth1 protocol ip handle 2 fw classid 2:1
#-----------------------
$TC filter add dev eth0 protocol ip handle 3 fw classid 1:2
$TC filter add dev eth1 protocol ip handle 3 fw classid 2:2
#---------------------------
________________________________________
Connect to the next generation of MSN Messenger  Get it now! 



Más información sobre la lista de distribución CentOS-es