Projet

Général

Profil

QOS Exterieur » Historique » Version 3

Klaas TJEBBES, 27/06/2014 11:46

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