← retour aux snippets

tc tbf: limiter le débit d'une interface

Appliquer une token bucket filter pour plafonner le débit sortant d'une interface.

bash network #tc#tbf#throttle

objectif

Limiter le débit sortant pour reproduire des connexions lentes ou protéger un lien.

code minimal

# limiter à 10 Mbit/s avec un burst raisonnable
sudo tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms

utilisation

# mesurer l'effet (ex: téléchargement)
curl -o /dev/null -sS https://data.pm/large.bin

# retirer la limitation
sudo tc qdisc del dev eth0 root

variante(s) utile(s)

# limiter uniquement un port (via htb + filter u32)
sudo tc qdisc add dev eth0 root handle 1: htb default 20
sudo tc class add dev eth0 parent 1: classid 1:10 htb rate 10mbit ceil 10mbit
sudo tc class add dev eth0 parent 1: classid 1:20 htb rate 1000mbit ceil 1000mbit
sudo tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dport 443 0xffff flowid 1:10

notes

  • burst et latency influencent la régularité du débit; adaptez à vos besoins.
  • combinez avec netem pour simuler latence + débit.