Estou tendo problemas para adicionar o código de script para você aqui. Ele está disponível no seguinte link: link
O script está usando TC e Hierarchical Token Bucket (HTB) para definir as regras e, por fim, os filtros que atuariam como uma regra geral.
Você precisaria modificar o interface
var se for diferente de eth0
˙e o interface_speed
.
Salve o script em seu servidor e inicie-o via:
ḃash limit-tc.sh start
Para parar:
bash limit-tc.sh stop
Ver status: bash limit.tc status
A saída de status seria algo como isto:
qdisc htb 1: root refcnt 2 r2q 10 default 30 direct_packets_stat 1
Sent 535666 bytes 6461 pkt (dropped 172, overlimits 7641 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc sfq 10: parent 1:10 limit 127p quantum 1514b perturb 10sec
Sent 535624 bytes 6424 pkt (dropped 172, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc sfq 20: parent 1:20 limit 127p quantum 1514b perturb 10sec
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0