Postado originalmente por
josiel
esse script limita o envio e recevimento de email a usar apenas 80Kbits do meu link de 256, limita o download de driver do meu servidor de http a 76kbit o restante da rede usa 100Kbits se não tiver nada usa os 256.
Espero ter ajudado, eu consegui um belo manual sobre tc na net, eu perdi ele mas acredito que no google vc ache algo.
Isso é pra limitar e não bloquear, pra bloquear a melhor coisa é log de iptables.
#!/bin/bash
tc qdisc add dev eth0 root handle 1: htb default 12
tc class add dev eth0 parent 1: classid 1:1 htb rate 256Kbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 80Kbit ceil 80Kbit
tc class add dev eth0 parent 1:1 classid 1:12 htb rate 100Kbit ceil 256Kbit
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 76Kbit ceil 76Kbit
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 5
tc qdisc add dev eth0 parent 1:12 handle 12: sfq perturb 5
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 5
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 \
match ip src 200.206.140.224 match ip dst 0.0.0.0/0 \
match ip dport 25 0xffff flowid 1:10
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 \
match ip src 0.0.0.0/0 match ip dst 200.206.140.224 \
match ip dport 25 0xffff flowid 1:10
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 \
match ip dst 0.0.0.0/0 match ip src 200.206.140.224/32 \
match ip sport 80 0xffff flowid 1:20