Repost: Exemplo de controle de banda usando HTB
18 de Março de 2008 | Arquivado em Linux | Sem Comentários »
Há um tempo fiz este script, a pedido de um usuário da comunidade Arch Linux Brasil. Como ele tinha apenas 1 Mbit de conexão (e seu irmão gostava muito de programas P2P), me pediu uma solução pra limitar o tráfego da máquina do irmão.
#
# Exemplo de controle de tráfego usando HTB
# Por Israel Junior (israel em nacaolivre ponto net)
# Nesse script eu defini uma banda limite de 1Mbps e duas classes: uma
# com banda garantida de 768Kbps (sua máquina), mas podendo chegar
# a 1Mbit (caso não haja tráfego na outra classe) e outra classe com
# banda garantida de 256Kbps. O tráfego originado de 192.168.0.2 será
# enquadrado na classe 1:10 e os outros na classe 1:20.
#
INTERFACE=eth0
TOTALBW=1mbit # Use mbit, kbit como unidades de banda
modprobe sch_htb
tc qdisc del dev $INTERFACE root 2> /dev/null > /dev/null
tc qdisc add dev $INTERFACE root handle 1: htb default 20
tc class add dev $INTERFACE parent 1: classid 1:1 htb rate $TOTALBW
tc class add dev $INTERFACE parent 1:1 classid 1:10 htb rate 768kbit ceil 1mbit
tc class add dev $INTERFACE parent 1:1 classid 1:20 htb rate 256kbit ceil 256kbit
tc qdisc add dev $INTERFACE parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $INTERFACE parent 1:20 handle 20: sfq perturb 10
tc filter add dev $INTERFACE parent 1: protocol ip prio 1 u32 match ip src 192.168.0.2/32 flowid 1:10
O próprio script se encarrega de levantar o módulo necessário para o escalonador HTB.
