Projet

Général

Profil

QOS Exterieur » Historique » Version 7

Klaas TJEBBES, 27/06/2014 12:15

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