Jump to Navigation

LinuxCbq

SoftwareLivre

=  Apresentação  =
Uma necessidade para o controle da rede, era o controlar a banda dos usuários, para isso, existe fizeram o CBQ - Controle de Qualidade de Banda.


=  Pré-Requisitos  =
Pacote(s): IP-Router2, cbq.init

Opções do Kernel necessárias para o funcionamento do CBQ:
 Code Matury Level Options --->
   [*] Prompt for development and/or incomplete code/drivers
 
 Networking Options --->
   <*> Packet socket
   [*] Routing Messages
   <*> Unix domain sockets
   [*] TCP/IP networking
   [*] IP advanced router
   [*] IP Policy routing
   [*] IP equal cost multipath
   [*] IP use TOS value as route key
   [*] IP verbose route monitoring
   [*] IP large routing tables
   [*] IP fast network address translation
   [*] optimize as houte not host
 
 QoS and/or fair queueing --->
 [*] QoS and/or fair queueing
   [M] CBQ packet sheduler
   [M] CSZ packet sheduler
   [M] The simplest PRIO pseudosheduler
   [M] RED queue
   [M] SFQ queue
   [M] TEQL queue
   [M] TBF queue
   [*] QoS support
   [*] Rate estimator
   [*] Packet classifier API
   [M] Routing table based classifier
   [M] Firewall based classifier
   [M] U32 classifier
   [M] Special RSVP classifier
   [M] Special RSVP classifier for IPv6
   [*] Ingress traffic policing


=  Configurando  =
Edite o arquivo:
 # vi cbq.init

 ### Default CBQ_PATH & CBQ_CACHE settings
 # informe aqui o caminho para os arquivos de configuração
 CBQ_PATH=${CBQ_PATH:-/etc/sysconfig/cbq}
 # informe aqui o caminho para o script cbq.init
 CBQ_CACHE=${CBQ_CACHE:-/var/cache/cbq.init}
 
 ### Uncomment to enable logfile for debugging
 # Desabilite caso queira ter LOGs
 #CBQ_DEBUG="/var/run/cbq-$1"

Regras para a configuração:
- os arquivos precisam ter as siglas iniciais "cbq-";
- a extensão do arquivo é usada como referência do dispositivo, ex.: "eth1";
- as regras podem ser definidas de "0002" até "ffff" (hexadecimal).

Vejamos o arquivo de exemplo: cbq-0002.eth1

 ## Interface, banda e peso
 ## Neste caso, a eth1 é a interface para rede local
 DEVICE=eth1,10Mbit,1Mbit
 
 ## Banda Compartilhada
 RATE=256Kbit
 
 ## Peso (banda/10)
 WEIGHT=25Kbit
 
 ## Prioridade (1-8)
 PRIO=5
 
 ## Regras (RULE=IP_Destino:porta,IP_Origem:porta)
 RULE=192.168.0.1
 RULE=192.168.0.0/24,0.0.0.0:80
 
 ## Limita em horários predeterminados (hora inicial)-(hora final);(velocidade)/(velocidade/10)
 TIME=08:00-20:59;192Kbit/19Kbit
 TIME=21:00-07:59;256Kbit/25Kbit
 
 ## yes = shaper mantido com banda excedente
 BOUNDED=no
 
 ## yes = não compartilha banda excedente
 ISOLATED=no


=  Carregando o CBQ  =
Levantando o suporte ao cbq
Para carregar, digite: ./cbq.init compile
Com isso, lê irá ler as informações e prapará-las.

Para ativar, digite: ./cbq.init start
Para parar, digite: ./cbq.init stop


Links:
[http://heanet.dl.sourceforge.net/sourceforge/cbqinit/cbq.init-v0.7.3 Download do cbq.init v0.7.3]
Site Oficial do Projeto - https://sourceforge.net/projects/cbqinit
Artigo 1 - http://linuxbr.org/tutoriais/CBQ.html
Artigo 2 - http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=367
Outro Controlador (dizem ser melhor) - [http://www.linux-kita.com/hanny/instalasi-htb-cbq.html HTB]


=  Autor  =
[:Usuário:EMota: Eduardo Mota]