Aqui está um exemplo baseado em ligação :
#!/bin/bash
tc=/sbin/tc
#Cleaning up
$tc qdisc del dev eth0 root handle 1: > /dev/null 2>&1
#Add the root handle, setting the default leaf
$tc qdisc add dev eth0 root handle 1: htb default 5
#Set the basic speed of the device
$tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
# add a leaf for every IP in the 10.0.1.0/24 class, with mimimum guaranteed bandwidth of 1mbit and max available bandwidth of 1mbit, as per OP request
for i in $(seq 2 255); do
$tc class add dev eth0 parent 1:1 classid 1:$i htb rate 1mbit ceil 1mbit
#Add SFQ queueing disciplines
$tc qdisc add dev eth0 parent 1:$i handle $i: sfq perturb 10
#prioritize traffic
$tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.1.$i flowid 1:$i
done
Se você quer deixar cada IP usar mais de 1Mbps, desde que haja pelo menos 1 Mbps de largura de banda garantida para cada IP tráfego gerando atualmente, você deve alterar ceil 1mbit
para ceil 100mbit
.
Se o seu objetivo é não deixar que os clientes ir mais rápido do que 1Mbps em qualquer condição, utilize o script como é.