De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


QOS com HTB

Colaboração: Rodrigo Klein Santos

Data de Publicação: 14 de Janeiro de 2005

Muito se fala sobre Controle de Banda, QOS, e quando se pensa em Linux, achamos muita documentação para o CBQ.

Mas poucos conhecem o HTB, que pelo menos pra mim foi mais facil que o CBQ.

Vamos entender um pouco como se configura o HTB

Abaixo tenho um exemplo de script, que foi retirado do site do HTB e estou dando uma breve explicação sobre o exemplo.

  #!/bin/bash
  # Abaixo estou definindo a interface para o HTB utilizando o
  # comando 'tc', ou seja, estou dizendo que agora ela trabalhará
  # com o HTB e não mais com o PFIFO.
  
  tc qdisc add dev eth0 root handle 1: htb default 12
  
  # Criando as classes com seus respectivos limites de banda...
  #
  # Essa é a classe mãe da interface, ou seja, é a classe com o
  # total de banda, o total do seu link ou da sua placa de rede, da
  # interface...  
  # aqui estou dizendo que o nosso link é de 100kbps
  
  tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps ceil 100kbps #
  
  # Essas são as demais classes filhas...
  # esta primeira é a 1:10 que tem banda garantida de 30kbps ou
  # seja, nunca menos que isso.... E pode chegar a 100kbps se as
  # outras classes não tiverem usando o restante da banda do
  # link que colocamos acima com 100kbps..
  # Por isso 30kbps (garantia) ceil 100kbps (maximo)...
  # Oque seria a banda garantida ?
  # Seria a banda que esta classe teria no momento em que o link
  # estivesse com trafego alto, ou seja, mesmo que outra classe
  # estivesse precisando de banda a classe em questão teria essa
  # "banda garantida" (claro se estivesse usando), se estiver
  # ociosa a banda da classe em questão, as outras usariam.
  
  tc class add dev eth0 parent 1:1 classid 1:10 htb rate 30kbps ceil 100kbps
  
  # Esta é a 1:11 que tem 10kbps de banda garantida e 100kbps
  # caso a classe mãe tenha banda ociosa...
  
  tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps ceil 100kbps
  
  # essa é a mesma coisa, 60kbps de banda garantida...
  
  tc class add dev eth0 parent 1:1 classid 1:12 htb rate 60kbps ceil 100kbps
  
  #
  # Aqui você coloca quem você quer na classe que você quizer..
  #
  
  # Aqui você está colocando o IP source 1.2.3.4 com destino a
  # porta 80 na classe 1:10 que é a  de "30kbps ceil 100kbps"
  
  tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
   match ip src 1.2.3.4 match ip dport 80 0xffff flowid 1:10
  
  tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 \
   match ip src 1.2.3.4 flowid 1:11

E assim por diante...

É claro que o HTB tem diversas outras configurações avançadas, mas no momento queremos apenas colocar pra funcionar e esta serve bem ao proposito de controlar banda.

Você pode encontrar outras referências no proprio site do HTB

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rodrigo Klein Santos