EMotaWeb - Linux - CBQ
Data: 16/02/2004


1. 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


2. Pré-Requisitos
Pacote 1: IP-Router2
Pacote 2: cbq.init - Mirror

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


3. 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


    4. 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:
    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) - HTB


    Qualquer dúvida ou informação, entre em contato emota@emota.com.br

    EMotaWeb | Textos | Programação | Linux | Wireless | Contato | Topo ^