QoS : mise à jour des règles
authorOngolaboy <willy.manga@auf.org>
Tue, 26 Jan 2016 09:24:20 +0000 (10:24 +0100)
committerOngolaboy <willy.manga@auf.org>
Tue, 26 Jan 2016 09:24:20 +0000 (10:24 +0100)
 * l'unité est collée à la valeur :)
 *  quelques commentaires qui vont peut être être utiles plus tard
 * des ajustements mineurs; le plus important plus tard

scripts/qos/regles.bacgl

index 98970aa..fb3a66b 100644 (file)
@@ -1,18 +1,23 @@
 #!/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=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
 
 modprobe ifb numifbs=1
 
-ip link set ifb0
+ip link set up ifb0
 
 tc qdisc add dev  $IF_INTERNET ingress
 
+#la version IPv6 ??
+#tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
+#      match ip6 dst $NET6_BACGL \
+#      flowid 1:1 action mirred egress redirect dev ifb0
+
 tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
        match ip dst $NET_BACGL \
        flowid 1:1 action mirred egress redirect dev ifb0
@@ -20,70 +25,64 @@ tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
 echo "Création de classes"
 echo "Création de la racine"
 
-#Question : handle 1: ou bien handle 1:0 ?
 tc qdisc add dev ifb0 root handle 1: htb default 146
 
 # premiere classe fille qui agrège tout le traffic
-tc class add dev ifb0 parent 1: classid 1:1 htb rate 2990 kbit ceil 3000 kbit
+tc class add dev ifb0 parent 1: classid 1:1 htb rate 2990kbit ceil 3000kbit
 
 # creation des classes enfants
 # classe VOIP
-tc class add dev ifb0 parent 1:1 classid 1:11 htb rate 128 kbit \
-       ceil 256 kbit prio 1
+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 768 kbit \
-       ceil 1200 kbit prio 3
+tc class add dev ifb0 parent 1:1 classid 1:12 htb rate 768kbit \
+       ceil 1200kbit prio 3
 
 # groupe DMZ
-tc class add dev ifb0 parent 1:1 classid 1:13 htb rate 256 kbit \
-       ceil 512 kbit prio 2
+tc class add dev ifb0 parent 1:1 classid 1:13 htb rate 256kbit \
+       ceil 512kbit prio 2
 
 # groupe PC
-tc class add dev ifb0 parent 1:1 classid 1:14 htb rate 1838 kbit \
-       ceil 2048 kbit prio 4
+tc class add dev ifb0 parent 1:1 classid 1:14 htb rate 1838kbit \
+       ceil 2048kbit 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 128 kbit \
-       ceil 1500 kbit prio 4
+tc class add dev ifb0 parent 1:14 classid 1:140 htb rate 128kbit \
+       ceil 1500kbit prio 4
 
 # groupe foad
-tc class add dev ifb0 parent 1:14 classid 1:145 htb rate 256 kbit \
-       ceil 1500 kbit prio 4
+tc class add dev ifb0 parent 1:14 classid 1:145 htb rate 256kbit \
+       ceil 1500kbit prio 4
 
 # groupe cai
-tc class add dev ifb0 parent 1:14 classid 1:141 htb rate 256 kbit \
-       ceil 1500 kbit prio 3
+tc class add dev ifb0 parent 1:14 classid 1:141 htb rate 256kbit \
+       ceil 1500kbit prio 3
 
 # groupe formation
-tc class add dev ifb0 parent 1:14 classid 1:142 htb rate 256 kbit \
-       ceil 1500 kbit prio 2
+tc class add dev ifb0 parent 1:14 classid 1:142 htb rate 256kbit \
+       ceil 1500kbit prio 2
 
 # groupe nomade
-tc class add dev ifb0 parent 1:14 classid 1:144 htb rate 512 kbit \
-       ceil 1500 kbit prio 3
+tc class add dev ifb0 parent 1:14 classid 1:144 htb rate 512kbit \
+       ceil 1500kbit prio 3
 
 # groupe personnel
-tc class add dev ifb0 parent 1:14 classid 1:143 htb rate 430 kbit \
-       ceil 1500 kbit prio 1
+tc class add dev ifb0 parent 1:14 classid 1:143 htb rate 430kbit \
+       ceil 1500kbit prio 1
 
 # groupe le reste
-tc class add dev ifb0 parent 1:14 classid 1:146 htb rate 10 kbit \
-       ceil 64 kbit prio 4
+tc class add dev ifb0 parent 1:14 classid 1:146 htb rate 10kbit \
+       ceil 64kbit prio 4
 
 
 # ordonnanceurs par classe
-tc qdisc add dev ifb0 parent 1:11 handle 11: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:12 handle 12: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:13 handle 13: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:140 handle 140: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:141 handle 141: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:142 handle 142: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:143 handle 143: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:144 handle 144: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:145 handle 145: sfq perturb 10
-tc qdisc add dev ifb0 parent 1:146 handle 146: sfq perturb 10
+for id in 11 12 13 {140..146} 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
+#tc qdisc add dev ifb0 parent 1:12 handle 12: sfq perturb 10
 
 # mise en place des filtres
 # VOIP
@@ -96,6 +95,7 @@ tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
        match ip dport 4569 0xffff flowid 1:11
 
 # 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 \
@@ -109,6 +109,11 @@ tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
        match ip src $NET_DMZ flowid 1:13
 
 
+#  salle formation ?
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip src $NET_FORMATION flowid 1:142
+
+
 #tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
 #      match ip protocol 6 0xff \
 #      match ip dport 443 0xffff flowid 1:13
@@ -118,3 +123,9 @@ tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
 #      match ip dport 587 0xffff flowid 1:13
 
 # et ainsi de suite
+
+#une autre façon c'est d'utiliser tc et iptables en conjonction.
+# 6 étant le numéro marqué, 1:30 la classe correspondante pour tc
+#tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 6 fw flowid 1:30
+#puis une règle iptables
+#iptables -t mangle -A PREROUTING -i eth0 -j MARK --set-mark 6