QOS Exterieur » Historique » Version 6
Version 5 (Klaas TJEBBES, 27/06/2014 11:59) → Version 6/7 (Klaas TJEBBES, 27/06/2014 12:10)
h1. QOS Exterieur
_*ATTENTION, pour l'instant ces scripts sont fournis à titre expérimental.*_
http://dev-eole.ac-dijon.fr/issues/8479
http://eoleng.ac-dijon.fr/pub/Outils/QOS/
Ces scripts fonctionnent en divisant la bande passante totale en 3 canaux/priorités :
* HTB : on affecte un pourcentage de la bande passante totale à un canal et on définit quel IP/réseau
* PRIO : on définit quel IP/réseau ont quelle priorité
*Avertissement* :
* Les 2 scripts sont exclusifs, on ne peut pas les utiliser en même temps.
* Ces 2 scripts agissent sur eth0 et créent une interface virtuelle ifb0.
* Si vous avez de la QOS dans Era, tant que celle-ci n'est pas sur eth0, elle est compatible avec les 2 scripts. Cela-dit, il vaut mieux désactiver entièrement la QOS dans ERA pour éviter tout effet de bord.
h2. qos_htb.sh
http://eoleng.ac-dijon.fr/pub/Outils/QOS/qos_htb.sh
Ce script fonctionne sur une principe de débit minimum garantie.
* la bande passante totale est divisée en 3 canaux
* un pourcentage de la bande passante totale est affecté à chaque canal
* affectation d'une IP ou d'un réseau à un canal
*Par défaut tout le trafic va dans canal 2.*
Lorsqu'un canal n'est pas utilisé, ou qu'il n'utilise pas toute la bande passante qui lui est réservé, elle est répartie entre les autres canaux.
Dès que le canal a besoin à nouveau de toute sa bande passante, sa partie réservée lui est rendue.
h2. qos_prio.sh
http://eoleng.ac-dijon.fr/pub/Outils/QOS/qos_prio.sh
Ce script fonctionne sur une principe de priorité simple sans minimum garantie
* 3 priorités :
> * haute (1)
> * normale (2)
> * basse (3)
* affectation d'une IP ou d'un réseau à une priorité
*Par défaut tout le trafic va dans priorité 2.*
Tant que la priorité *1* a des paquets à transmettre, rien n'est transmis pour les priorités *2* et *3*.
Si la priorité *1* n'a plus rien à transmettre alors la priorité *2* est traitée.
La priorité *3* est traitée quand les deux autres n'ont plus rien à transmettre.
h2. Configuration et utilisation des scripts :
Il faut les éditer pour y renseigner :
* La capacité de la connexion Internet (à mesurer car il faut le débit réel)
* Le pourcentage de bande passante réservé à chaque canal (HTB seulement)
* Les IP/Réseaux à prioriser/à ralentir (Par défaut, Youtube, Rutube, vimeo et dailymotion sont déjà renseignés en canal3/prio3)
Pour les appliquer il suffit de faire :
<pre>
bash qos_htb.sh
</pre>
ou
<pre>
bash qos_prio.sh
</pre>
Cela survie à un reconfigure (si aucune QOS ERA sur eth0) mais pas à un reboot (on peut patcher /etc/rc.local pour appeler le script au boot).
Quel que soit le script utilisé, pour surveiller l'utilisation des différents canaux, on peut utiliser la commande :
<pre>
tc -s qdisc ls dev ifb0
tc -s class ls dev ifb0
</pre>
ou :
<pre>
watch -n 1 "tc -s qdisc ls dev ifb0 ; echo ; tc -s class ls dev ifb0"
</pre>
Pour surveiller la bande passante utilisée par chaque connexion on peut utiliser la commande :
<pre>
jnettop
</pre>
(à installer avec 'apt-eole install jnettop')
_*ATTENTION, pour l'instant ces scripts sont fournis à titre expérimental.*_
http://dev-eole.ac-dijon.fr/issues/8479
http://eoleng.ac-dijon.fr/pub/Outils/QOS/
Ces scripts fonctionnent en divisant la bande passante totale en 3 canaux/priorités :
* HTB : on affecte un pourcentage de la bande passante totale à un canal et on définit quel IP/réseau
* PRIO : on définit quel IP/réseau ont quelle priorité
*Avertissement* :
* Les 2 scripts sont exclusifs, on ne peut pas les utiliser en même temps.
* Ces 2 scripts agissent sur eth0 et créent une interface virtuelle ifb0.
* Si vous avez de la QOS dans Era, tant que celle-ci n'est pas sur eth0, elle est compatible avec les 2 scripts. Cela-dit, il vaut mieux désactiver entièrement la QOS dans ERA pour éviter tout effet de bord.
h2. qos_htb.sh
http://eoleng.ac-dijon.fr/pub/Outils/QOS/qos_htb.sh
Ce script fonctionne sur une principe de débit minimum garantie.
* la bande passante totale est divisée en 3 canaux
* un pourcentage de la bande passante totale est affecté à chaque canal
* affectation d'une IP ou d'un réseau à un canal
*Par défaut tout le trafic va dans canal 2.*
Lorsqu'un canal n'est pas utilisé, ou qu'il n'utilise pas toute la bande passante qui lui est réservé, elle est répartie entre les autres canaux.
Dès que le canal a besoin à nouveau de toute sa bande passante, sa partie réservée lui est rendue.
h2. qos_prio.sh
http://eoleng.ac-dijon.fr/pub/Outils/QOS/qos_prio.sh
Ce script fonctionne sur une principe de priorité simple sans minimum garantie
* 3 priorités :
> * haute (1)
> * normale (2)
> * basse (3)
* affectation d'une IP ou d'un réseau à une priorité
*Par défaut tout le trafic va dans priorité 2.*
Tant que la priorité *1* a des paquets à transmettre, rien n'est transmis pour les priorités *2* et *3*.
Si la priorité *1* n'a plus rien à transmettre alors la priorité *2* est traitée.
La priorité *3* est traitée quand les deux autres n'ont plus rien à transmettre.
h2. Configuration et utilisation des scripts :
Il faut les éditer pour y renseigner :
* La capacité de la connexion Internet (à mesurer car il faut le débit réel)
* Le pourcentage de bande passante réservé à chaque canal (HTB seulement)
* Les IP/Réseaux à prioriser/à ralentir (Par défaut, Youtube, Rutube, vimeo et dailymotion sont déjà renseignés en canal3/prio3)
Pour les appliquer il suffit de faire :
<pre>
bash qos_htb.sh
</pre>
ou
<pre>
bash qos_prio.sh
</pre>
Cela survie à un reconfigure (si aucune QOS ERA sur eth0) mais pas à un reboot (on peut patcher /etc/rc.local pour appeler le script au boot).
Quel que soit le script utilisé, pour surveiller l'utilisation des différents canaux, on peut utiliser la commande :
<pre>
tc -s qdisc ls dev ifb0
tc -s class ls dev ifb0
</pre>
ou :
<pre>
watch -n 1 "tc -s qdisc ls dev ifb0 ; echo ; tc -s class ls dev ifb0"
</pre>
Pour surveiller la bande passante utilisée par chaque connexion on peut utiliser la commande :
<pre>
jnettop
</pre>
(à installer avec 'apt-eole install jnettop')