QoS : prise en compte de la nouvelle capacité
authorOngolaboy <willy.manga@auf.org>
Tue, 26 Jan 2016 16:29:28 +0000 (17:29 +0100)
committerOngolaboy <willy.manga@auf.org>
Tue, 26 Jan 2016 16:29:28 +0000 (17:29 +0100)
 * Adaptation en rapport avec
https://redmine.auf.org/issues/9654#note-5

 * revue à la hausse des seuils vu que nous avons 10 Mbps
depuis fin 2015

 * on taille plus finement en fonction des réseaux existants
(mais peut être que je vais simplifier tout ça)

 * utilisation des marqueurs qui seront générés dans la table
mangle

scripts/qos/regles.bacgl

index fb3a66b..a7be96d 100644 (file)
@@ -1,11 +1,15 @@
 #!/bin/sh
 
-$IF_INTERNET=eth0.2
-$NET_BACGL=195.24.196.112/28
-$NET_DMZ=192.168.10.0/24
-$IP_VISIO_Dir=195.24.196.124
-$IP_VISIO_Reu=195.24.196.125
-$IP_VISIO_Form=195.24.196.126
+IF_INTERNET=eth0.2
+NET_BACGL=195.24.196.112/28
+NET_DMZ_Priv=192.168.10.0/24
+NET_DMZ_Partenaire_Priv=192.168.11.0/24
+IP_VISIO_Dir=195.24.196.124
+IP_VISIO_Reu=195.24.196.125
+IP_VISIO_Form=195.24.196.126
+IP_Pub_SOGo=195.24.196.116
+IP_Pub_VOIP=195.24.196.117
+
 
 modprobe ifb numifbs=1
 
@@ -25,10 +29,10 @@ tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
 echo "Création de classes"
 echo "Création de la racine"
 
-tc qdisc add dev ifb0 root handle 1: htb default 146
+tc qdisc add dev ifb0 root handle 1: htb default 190
 
 # premiere classe fille qui agrège tout le traffic
-tc class add dev ifb0 parent 1: classid 1:1 htb rate 2990kbit ceil 3000kbit
+tc class add dev ifb0 parent 1: classid 1:1 htb rate 9882kbit ceil 10000kbit
 
 # creation des classes enfants
 # classe VOIP
@@ -36,49 +40,65 @@ tc class add dev ifb0 parent 1:1 classid 1:11 htb rate 128kbit \
        ceil 256kbit prio 1
 
 #groupe des visios
-tc class add dev ifb0 parent 1:1 classid 1:12 htb rate 768kbit \
-       ceil 1200kbit prio 3
+tc class add dev ifb0 parent 1:1 classid 1:12 htb rate 3000kbit \
+       ceil 3500kbit prio 3
+
+# groupe DMZ Pub
+tc class add dev ifb0 parent 1:1 classid 1:13 htb rate 150kbit \
+       ceil 1000kbit prio 2
+
+# groupe DMZ Priv
+tc class add dev ifb0 parent 1:1 classid 1:14 htb rate 1000kbit \
+       ceil 2000kbit prio 2
 
-# groupe DMZ
-tc class add dev ifb0 parent 1:1 classid 1:13 htb rate 256kbit \
-       ceil 512kbit prio 2
+# groupe DMZ Partenaire Priv
+tc class add dev ifb0 parent 1:1 classid 1:15 htb rate 100kbit \
+       ceil 512kbit prio 4
+
+# groupe DMZ Partenaire Pub
+tc class add dev ifb0 parent 1:1 classid 1:16 htb rate 100kbit \
+       ceil 512kbit prio 4
+
+# sonde RIPE
+tc class add dev ifb0 parent 1:1 classid 1:16 htb rate 100kbit \
+       ceil 512kbit prio 1
 
 # groupe PC
-tc class add dev ifb0 parent 1:1 classid 1:14 htb rate 1838kbit \
-       ceil 2048kbit prio 4
+tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 5304kbit \
+       ceil 9000kbit prio 4
 
 #A l'interieur des PC on a les sous-classes suivantes
 # groupe prof
-tc class add dev ifb0 parent 1:14 classid 1:140 htb rate 128kbit \
+tc class add dev ifb0 parent 1:20 classid 1:132 htb rate 768kbit \
        ceil 1500kbit prio 4
 
 # groupe foad
-tc class add dev ifb0 parent 1:14 classid 1:145 htb rate 256kbit \
-       ceil 1500kbit prio 4
+tc class add dev ifb0 parent 1:20 classid 1:133 htb rate 768kbit \
+       ceil 1500kbit prio 3
 
 # groupe cai
-tc class add dev ifb0 parent 1:14 classid 1:141 htb rate 256kbit \
-       ceil 1500kbit prio 3
+tc class add dev ifb0 parent 1:20 classid 1:131 htb rate 1000kbit \
+       ceil 4000kbit prio 3
 
 # groupe formation
-tc class add dev ifb0 parent 1:14 classid 1:142 htb rate 256kbit \
-       ceil 1500kbit prio 2
+tc class add dev ifb0 parent 1:20 classid 1:130 htb rate 1000kbit \
+       ceil 5000kbit prio 2
 
 # groupe nomade
-tc class add dev ifb0 parent 1:14 classid 1:144 htb rate 512kbit \
-       ceil 1500kbit prio 3
+tc class add dev ifb0 parent 1:20 classid 1:125 htb rate 768kbit \
+       ceil 3500kbit prio 4
 
 # groupe personnel
-tc class add dev ifb0 parent 1:14 classid 1:143 htb rate 430kbit \
-       ceil 1500kbit prio 1
+tc class add dev ifb0 parent 1:20 classid 1:120 htb rate 100kbit \
+       ceil 256kbit prio 1
 
 # groupe le reste
-tc class add dev ifb0 parent 1:14 classid 1:146 htb rate 10kbit \
-       ceil 64kbit prio 4
+tc class add dev ifb0 parent 1:14 classid 1:190 htb rate 10kbit \
+       ceil 64kbit prio 5
 
 
 # ordonnanceurs par classe
-for id in 11 12 13 {140..146} do
+for id in 120 {130..133} 190  do
        tc qdisc add dev ifb0 parent 1:$id handle $id: sfq pertub 10
 done
 #tc qdisc add dev ifb0 parent 1:11 handle 11: sfq perturb 10
@@ -96,23 +116,53 @@ tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
 
 # Visio
 #mettre le masque IPvisio/28
-tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
-       match ip src $IP_VISIO_Dir flowid 1:12
-tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
-       match ip src $IP_VISIO_Reu flowid 1:12
-tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
-       match ip src $IP_VISIO_Form flowid 1:12
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
+       match ip src $IP_VISIO_Dir/28 flowid 1:12
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
+       match ip src $IP_VISIO_Reu/28 flowid 1:12
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
+       match ip src $IP_VISIO_Form/28 flowid 1:12
 
 # specifique à la DMZ
-tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
-       match ip protocol 6 0xff \
-       match ip src $NET_DMZ flowid 1:13
+# DMZ Pub
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
+       match ip src $IP_Pub_SOGo/28 flowid 1:13
+
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
+       match ip src $IP_Pub_VOIP/28 flowid 1:13
+
+# DMZ Priv
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 \
+       match ip src $NET_DMZ_Priv flowid 1:14
+
+#DMZ partenaire priv
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 \
+       match ip src $NET_DMZ_Partenaire_Priv flowid 1:15
+
+#DMZ partenaire pub .. Est-ce que ça vaut vraiment la peine ?
+
+#sonde RIPE
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 35 fw flowid 1:16
+
+# salle prof
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 32 fw flowid 1:132
+
+# salle foad
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 33 fw flowid 1:133
+
+# salle cai
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 31 fw flowid 1:131
+
+# salle formation
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 20 fw flowid 1:120
 
+# réseau nomade
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 25 fw flowid 1:125
 
-#  salle formation ?
-tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
-       match ip src $NET_FORMATION flowid 1:142
+# réseau personnel AUF
+tc filter add ifb0 protocol ip parent 1: prio 1 handle 20 fw flowid 1:120
 
+# le reste ... bah par défaut tout ira dans la classe 1:190
 
 #tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
 #      match ip protocol 6 0xff \