Postado originalmente por
ALVERNEPAIVA
Apesar de sua rede estar no padrão que , supostamente, pode alcaçar 100mbits esses valores só são alcançados em condições especiais , não quer dizer que ela vá trabalhar a 100mbits.
se fosse comigo, primeiro eu alteraria a taxa da classe raiz para 10Mbits, que é 10% da taxa máxima da rede.
esta linha que você colocou
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 10Mbit
#!/bin/bash
tc qdisc del dev eth1 root
tc qdisc add dev eth1 root handle 1:0 htb default 50
#----------------------alterar essa linha-------------------
tc class add dev eth1 parent 1:0 classid 1:1 htb rate 10mbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 512kbit ceil 512kbit prio 1 # voip
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 100kbit ceil 200kbit prio 2 # DNS / ACK / SYN / FIN
tc class add dev eth1 parent 1:1 classid 1:30 htb rate 250kbit ceil 512kbit prio 3 # Terminal service
tc class add dev eth1 parent 1:1 classid 1:40 htb rate 128kbit ceil 300kbit prio 4 # HTTP
tc class add dev eth1 parent 1:1 classid 1:50 htb rate 128kbit ceil 400kbit prio 5 # Geral
#--------------adiciona essa classe para receber o tráfego do zph
tc class add dev eth2 parent 1: classid 1:60 htb rate 5mbit prio 1 #ZPH
tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth1 parent 1:30 handle 30: sfq perturb 10
tc qdisc add dev eth1 parent 1:40 handle 40: sfq perturb 10
tc qdisc add dev eth1 parent 1:50 handle 50: sfq perturb 10
tc qdisc add dev eth1 parent 1:60 handle 60: sfq perturb 10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 5060 0xffff flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 5061 0xffff flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 10000 0xffff flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip sport 20000 0xffff flowid 1:10
tc filter add dev eth1 parent 1:0 protocol ip prio 2 u32 match ip sport 53 0xffff flowid 1:20
tc filter add dev eth1 parent 1:0 protocol ip prio 3 u32 match ip sport 3389 0xffff flowid 1:30
tc filter add dev eth1 parent 1:0 protocol ip prio 4 u32 match ip sport 80 0xffff flowid 1:40
#-------------e finalmente o filtro que vai classificar o tráfego e jogar na classe certa
tc filter add dev eth2 parent 1:0 protocol ip prio 3 u32 match ip protocol 0x6 0xff match ip tos 60 0xff flowid 1:60
feito isso não há motivo para nao funcionar. Para ver o tráfego na classe digite o seguinte comando:
tc -s -d class show dev eth1
que deverá retornar as estatísticas das classes nessa placa de rede. Algo como isso abaixo para cada classe pra ver se realmente está tendo tráfego na classe 1:60 verique os números que ficam a frente do parâmetro Send . Se ficar em zero é por que não há tráfego sendo desviado pra ela.
class htb 1:60 root prio 5 quantum 1000 rate 512000bit ceil 512000bit burst 1855b/8 mpu 0b overhead 0b cburst 1855b/8 mpu 0b overhead 0b level 0
Sent 1233769731 bytes 1207747 pkt (dropped 0, overlimits 0 requeues 0)
rate 187504bit 26pps backlog 0b 0p requeues 0
lended: 1207747 borrowed: 0 giants: 0
tokens: 1408 ctokens: 1408