Projet

Général

Profil

QOS Exterieur » Historique » Version 4

Klaas TJEBBES, 27/06/2014 11:47

1 1 Klaas TJEBBES
h1. QOS Exterieur
2 1 Klaas TJEBBES
3 1 Klaas TJEBBES
http://dev-eole.ac-dijon.fr/issues/8479
4 1 Klaas TJEBBES
http://eoleng.ac-dijon.fr/pub/Outils/QOS/
5 1 Klaas TJEBBES
6 1 Klaas TJEBBES
Ces scripts fonctionnent en divisant la bande passante totale en 3 canaux/priorités :
7 1 Klaas TJEBBES
* HTB : on affecte un pourcentage de la bande passante totale à un canal et on définit quel IP/réseau 
8 1 Klaas TJEBBES
* PRIO : on définit quel IP/réseau ont quelle priorité
9 1 Klaas TJEBBES
10 4 Klaas TJEBBES
*Avertissement* :
11 4 Klaas TJEBBES
* Les 2 scripts sont exclusifs, on ne peut pas les utiliser en même temps.
12 4 Klaas TJEBBES
* Ces 2 scripts agissent sur eth0 et créent une interface virtuelle ifb0.
13 4 Klaas TJEBBES
* 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.
14 1 Klaas TJEBBES
15 4 Klaas TJEBBES
16 3 Klaas TJEBBES
h2. qos_htb.sh
17 1 Klaas TJEBBES
18 3 Klaas TJEBBES
Ce script fonctionne sur une principe de débit minimum garantie.
19 3 Klaas TJEBBES
* la bande passante totale est divisée en 3 canaux
20 3 Klaas TJEBBES
* un pourcentage de la bande passante totale est affecté à chaque canal
21 3 Klaas TJEBBES
* affectation d'une IP ou d'un réseau à un canal
22 3 Klaas TJEBBES
*Par défaut tout le trafic va dans canal 2.*
23 3 Klaas TJEBBES
24 3 Klaas TJEBBES
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.
25 3 Klaas TJEBBES
Dès que le canal a besoin à nouveau de toute sa bande passante, sa partie réservée lui est rendue.
26 3 Klaas TJEBBES
27 3 Klaas TJEBBES
h2. qos_prio.sh
28 3 Klaas TJEBBES
29 3 Klaas TJEBBES
Ce script fonctionne sur une principe de priorité simple sans minimum garantie
30 3 Klaas TJEBBES
* 3 priorités :
31 3 Klaas TJEBBES
32 3 Klaas TJEBBES
> * haute (1)
33 3 Klaas TJEBBES
> * normale (2)
34 3 Klaas TJEBBES
> * basse (3)
35 3 Klaas TJEBBES
36 3 Klaas TJEBBES
* affectation d'une IP ou d'un réseau à une priorité
37 3 Klaas TJEBBES
*Par défaut tout le trafic va dans priorité 2.*
38 3 Klaas TJEBBES
39 3 Klaas TJEBBES
Tant que la priorité *1* a des paquets à transmettre, rien n'est transmis pour les priorités *2* et *3*.
40 3 Klaas TJEBBES
Si la priorité *1* n'a plus rien à transmettre alors la priorité *2* est traitée.
41 3 Klaas TJEBBES
La priorité *3* est traitée quand les deux autres n'ont plus rien à transmettre.
42 3 Klaas TJEBBES
43 3 Klaas TJEBBES
44 3 Klaas TJEBBES
45 3 Klaas TJEBBES
h2. Configuration et utilisation des scripts :
46 3 Klaas TJEBBES
47 3 Klaas TJEBBES
Il faut les éditer pour y renseigner :
48 3 Klaas TJEBBES
49 1 Klaas TJEBBES
 * La capacité de la connexion Internet (à mesurer car il faut le débit réel)
50 1 Klaas TJEBBES
 * Le pourcentage de bande passante réservé à chaque canal (HTB seulement)
51 1 Klaas TJEBBES
 * Les IP/Réseaux à prioriser/à ralentir (Par défaut, Youtube, Rutube, vimeo et dailymotion sont déjà renseignés en canal3/prio3)
52 1 Klaas TJEBBES
53 1 Klaas TJEBBES
54 2 Klaas TJEBBES
Pour les appliquer il suffit de faire :
55 1 Klaas TJEBBES
<pre>
56 2 Klaas TJEBBES
 bash qos_htb.sh
57 1 Klaas TJEBBES
</pre>
58 2 Klaas TJEBBES
ou
59 1 Klaas TJEBBES
<pre>
60 2 Klaas TJEBBES
 bash qos_prio.sh
61 1 Klaas TJEBBES
</pre>
62 1 Klaas TJEBBES
63 1 Klaas TJEBBES
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).
64 1 Klaas TJEBBES
65 2 Klaas TJEBBES
Quel que soit le script utilisé, pour surveiller l'utilisation des différents canaux, on peut utiliser la commande :
66 1 Klaas TJEBBES
<pre>
67 1 Klaas TJEBBES
 tc -s qdisc ls dev ifb0
68 2 Klaas TJEBBES
 tc -s class ls dev ifb0
69 1 Klaas TJEBBES
</pre>
70 2 Klaas TJEBBES
ou :
71 1 Klaas TJEBBES
<pre>
72 2 Klaas TJEBBES
 watch -n 1 "tc -s qdisc ls dev ifb0 ; echo ; tc -s class ls dev ifb0"
73 1 Klaas TJEBBES
</pre>
74 1 Klaas TJEBBES
75 1 Klaas TJEBBES
Pour surveiller la bande passante utilisée par chaque connexion on peut utiliser la commande :
76 1 Klaas TJEBBES
<pre>
77 1 Klaas TJEBBES
 jnettop
78 1 Klaas TJEBBES
</pre>
79 3 Klaas TJEBBES
(à installer avec 'apt-eole install jnettop')