Pular para o conteúdo

CBQ: Controle efetivo II

Dica publicada em Linux / Internet
Carlos Affonso Henriques. capitainkurn
Hits: 9.831 Categoria: Linux Subcategoria: Internet
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

CBQ: Controle efetivo II

Muito já se falou e escreveu sobre CBQ, mas recentemente precisei implementar um controle de banda para um provedor wireless, e era necessário que fosse individualmente e não por sub redes inteiras.

Então ficou assim:

1 - Marcamos os pacotes de cada um dos IPs dos clientes da seguinte forma: imediatamente após a regra que faz a NAT, adicione as seguintes linhas:

# Marcação de pacotes
for i in `seq 11 254`
    do
    iptables -t mangle -A POSTROUTING -s 192.168.$i.10 -j MARK --set-mark $i
done
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Onde a variável $i corresponde às subredes (1 para cada IP) sob a máscara 255.255.255.254 ou /31, o comando "seq 11 254" é o range de IPs/subredes que deverão ser marcados.

2 - Em /etc/sysconfig/cbq/, crie um par de arquivos de configuração para cada um dos IPs, sendo 1 para a interface de rede eth0 (interna/download) e outro para a ppp0(externa/upload). Ex: para 192.168.30.10 arquivo cbq0030.eth0 (download):

DEVICE=eth0,100Mbit,10Mbit
RATE=1024Kbit
WEIGHT=102Kbit
PRIO=5
RULE=192.168.30.10
BOUNDED=yes
ISOLATED=yes

Para interface ppp0 cbq0030.ppp0 (upload):

DEVICE=ppp0,2Mbit,200Kbit
RATE=70Kbit
WEIGHT=7Kbit
PRIO=5
BOUNDED=yes
ISOLATED=yes
MARK=30

Note o parâmetro MARK=30 acima, ou seja, ele atua somente sobre os pacotes que possuem tal marca sem alterar os demais, aqueles que são oriundos do ip 192.168.30.10 para a rede externa.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Acertando o relógio do sistema via http e DNS

TOR Browser rodando sob root ou qualquer outro usuário

SSH contornando o firewall com o Tor

Customizando o Slax 7

Comando sed para formatar datas

Instalação do plugin Java no Google Chrome

Corrigindo erro do Firefox no Debian (libgtk-x11-2.0.so.0)

Instalando suporte ao Silverlight no Firefox 5 ou superior

Trocar o MAC da placa de rede

Como traduzir o Mercury Messenger 1.9.5

#1 Comentário enviado por malanga em 22/05/2007 - 20:40h
Boa,

o cbq é muito interessante.... parabens.
#2 Comentário enviado por capitainkurn em 28/05/2007 - 16:33h
Obrigado!
#3 Comentário enviado por piramideinfo em 02/06/2007 - 13:30h
Boa,
Configurei o CBQ no Fedora Core 5 , mas dá uma mensagem de erro, gostaria de saber se alguem já viu ou si sabe qual erro é esse.
"find:warning: you have specified the - maxdepth option after a non-option argument (, but options are not positional (-maxdepth affets tests spedified before it as well as those specified after it). Please specify options before other arguments."
#4 Comentário enviado por capitainkurn em 19/06/2007 - 09:56h
Essencialmente o cbq.init nada mais ~e que um shell script que manipula a ferramnta tc do iptools. Creio que sei problema haja ocorrido d3evido aos nomes deos arquivos de configura~c"ao do CBQ, onde a contri~ca eh a seguinte:
cbq-0000.eth0

onde o 0000 corresponde a um valor hexadecimal o mesmo valor da marca de pacotes pre-definida no iptables

Se voce nao marcar os pacotes no iptables o shapper nao atuara de forma alguma.
#5 Comentário enviado por filesgh em 03/02/2009 - 16:40h
Cara, muito bom seu artigo. Me resolveu um problemão.. Grande abraço!

Contribuir com comentário

Entre na sua conta para comentar.