Como no HTB eu deixo uma classe com uma banda fixa sem que ela use banda de outras classes ???
Como no HTB eu deixo uma classe com uma banda fixa sem que ela use banda de outras classes ???
#!/bin/sh
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 50
#CLASSE RAIZ 1 NAO USAR !!!
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps
#CLASSES FILHAS O PESSOAL VAI NAVEGAR AQUI
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 8kbps
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 16kbps ceil 16kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 32kbps ceil 32kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:40 htb rate 64kbps ceil 64kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:50 htb rate 4kbps
#NOVA CLASSE SÓ PARA EMAIL
tc qdisc add dev eth0 root handle 2: htb default 10
#CLASSE RAIZ 2 NAO USAR !!!
tc class add dev eth0 parent 2: classid 2:1 htb rate 200kbps
tc class add dev eth0 parent 2:1 classid 2:10 htb rate 200kbps ceil 200kbps burst 2k prio 0
Pronto agora vc tem 2 classes uma que usa 100K e distribui conforme a sua necessidade outra que garante 200K com prioridade 0 !!!!
ok entendi , vou fazer uns testes aqui
mas vc poderia me explicar oq q significa o burst ?
A placa de rede do seu micro nao consegue mandar apenas 1 pacote de cada vez ela foi projetada para enviar centenas/ milhares de pacotes por segundo, para aproximar mais a velocidade de cada link virtual é usado o parametro burst visto que a combinação de rate e ceil não mensura instantaneamente o link.
Isso tudo ai em cima para explicar isso:
ARQUIVO DE 1MB DE DOWNLOAD SUA REGRA DIZ QUE O NEGO PODE FAZER NA VELOCIDADE MAXIMA DE 32Kbps
Quando voce inicia o download ele da 64K cai em 1sec para 56K no 2sec cai para 36K e no 3sec fica em 32K.
Isso porque o algoritimo do HTB demora alguns milisegundo para calcular qual a faixa real de download,banda permitida.
Abração !
Entendi !!!
Agora , fui fazer um teste do jeito que voce me ensinou ali em cima , e me retornou os seguintes erros :
Código :+ tc qdisc add dev eth0 root handle 2: htb default 10 RTNETLINK answers: File exists + tc class add dev eth0 parent 2: classid 2:1 htb rate 500kbit ceil 500kbit RTNETLINK answers: No such file or directory + tc class add dev eth0 parent 2:1 classid 2:10 htb rate 500kbit ceil 500kbit burst 2k prio 0 RTNETLINK answers: No such file or directory
bom vou mostrar aqui oq eu to tentando e nao esta dando muito certo :
EU estou tentando dividir a banda de 1mb , em 2 de 500k
Código :tc qdisc add dev $DEV root handle 1: htb default 20 # Cria uma classe raiz abaixo de 1: , denominada 1:1 , e com rate definido tc class add dev $DEV parent 1: classid 1:1 htb rate 1000kbit # Cria duas classes filhas da classe 1:1 , a quais dividem a banda tc class add dev $DEV parent 1:1 classid 1:10 htb rate ${link_VPN}kbit ceil ${link_VPN}kbit tc class add dev $DEV parent 1:1 classid 1:20 htb rate ${link_OTH}kbit ceil ${link_OTH}kbit # Cria manipuladores sfq , que fazem a banda ser dividida corretamente tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10 tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10 tc filter add dev $DEV parent 1:0 protocol ip u32 \ match ip src $ftp1 flowid 1:10 tc filter add dev $DEV parent 1:0 protocol ip u32 \ match ip src $ftp2 flowid 1:20 tc filter add dev $DEV parent 1:0 protocol ip u32 \ match ip dst $ftp1 flowid 1:10 tc filter add dev $DEV parent 1:0 protocol ip u32 \ match ip dst $ftp2 flowid 1:20
Porem , quando faco o teste da propria maquina do QOS ele nao limita a banda .
Fiz o teste fazendo 3 downloads juntos por um link , e um pelo outro , e pelo resultado ele esta dividindo a banda igualmente para todos .
Nos status do tc (etc -s class show dev eth0) u vejo os pacotes sendo direcionados para as classes corretas , mas parece que ele nao esta limitando a banda .
help?
Postado originalmente por wps
vc nao tem nenhuma regra carregada ainda
entao vamos fazer um script shell !!!!
#!/bin/sh
tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: htb default 50
#CLASSE RAIZ NAO USAR !!!
tc class add dev eth0 parent 1: classid 1:1 htb rate 100kbps
#CLASSES FILHAS
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 8kbps
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 16kbps ceil 16kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 32kbps ceil 32kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:40 htb rate 64kbps ceil 64kbps burst 2k
tc class add dev eth0 parent 1:1 classid 1:50 htb rate 4kbps
#VARIAS CONEXOES ULTILIZEM DE FORMA MAIS EQUILIBRADA POSSIVEL A REGRA
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10
tc qdisc add dev eth0 parent 1:40 handle 40: sfq perturb 10
tc qdisc add dev eth0 parent 1:50 handle 50: sfq perturb 10
#VAMOS LIMITAR 1 MAQUINA AGORA SÓ PARA TESTAR
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.3 flowid 1:40
me chama no msn depois nois posta tudo aqui !