Projet

Général

Profil

QOS Exterieur » Historique » Version 5

Klaas TJEBBES, 27/06/2014 11:59

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