Commit initial: récupération et tri rapide
This commit is contained in:
commit
a52829f96c
104 changed files with 11892 additions and 0 deletions
65
script_tc-limit-bandwith.sh
Executable file
65
script_tc-limit-bandwith.sh
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/bin/sh
|
||||
|
||||
#
|
||||
# Petit script de limitation de bande passante fait
|
||||
# pour des tests pour un projet humanitaire.
|
||||
#
|
||||
# L'autre solution est d'utiliser le module mod-bw
|
||||
# d'Apache avec la configuration suivante :
|
||||
# # Limitation de bande passante
|
||||
# BandWidthModule On
|
||||
# ForceBandWidthModule On
|
||||
# BandWidth all 7168
|
||||
#
|
||||
|
||||
# TODO: retrouver et citer la source de ce script :-/
|
||||
|
||||
#
|
||||
# Outgoing traffic control
|
||||
#
|
||||
DEV=eth0
|
||||
|
||||
set -e
|
||||
|
||||
# Grosse purge
|
||||
tc qdisc del dev $DEV root || true
|
||||
tc qdisc del dev $DEV ingress || true
|
||||
|
||||
# ** Sortie **
|
||||
# Attachement de l'algo HTB à l'interface réseau
|
||||
# + pointage par défaut vers la classe fille 1:10
|
||||
tc qdisc add dev $DEV root handle 1: htb default 10
|
||||
|
||||
# Création d'une classe racine contenant la totalité de la capacité réseau
|
||||
# à partager entre les classes filles.
|
||||
# Note : on crée une root puis des filles car une classe fille peut emprunter
|
||||
# du trafic aux autres classes filles de la même racine, mais une racine
|
||||
# ne peut pas aller piocher ailleurs.
|
||||
# Note 2 : on spécifie un burst au moins égal au max des filles (à creuser
|
||||
# si la réactivité est un souci)
|
||||
tc class add dev $DEV parent 1: classid 1:1 htb rate 100mbit burst 15k
|
||||
|
||||
# Création des classes filles
|
||||
tc class add dev $DEV parent 1:1 classid 1:10 htb rate 80mbit ceil 90mbit burst 15k
|
||||
tc class add dev $DEV parent 1:1 classid 1:20 htb rate 100kbit ceil 200kbit burst 5k
|
||||
|
||||
# Une petite couche de renouvellement de la répartition en plus (Stochastic Fairness Queueing)
|
||||
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
|
||||
tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10
|
||||
|
||||
# Ici, on filtre selon les critères souhaités pour classer le flux dans
|
||||
# une des classes filles précédentes.
|
||||
tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip sport 80 0xffff flowid 1:20
|
||||
|
||||
|
||||
# ** Entrée **
|
||||
# Petit essai pour trafic entrant. À développer
|
||||
tc qdisc add dev $DEV handle ffff: ingress
|
||||
tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate 56kbit burst 5k drop flowid :1
|
||||
|
||||
|
||||
# Petit résumé
|
||||
echo;echo "tc configuration for $DEV:"
|
||||
tc qdisc show dev $DEV
|
||||
tc class show dev $DEV
|
||||
tc filter show dev $DEV
|
Loading…
Add table
Add a link
Reference in a new issue