qos
authorOngolaboy <willy.manga@auf.org>
Thu, 6 Aug 2015 11:28:31 +0000 (12:28 +0100)
committerOngolaboy <willy.manga@auf.org>
Thu, 6 Aug 2015 11:28:31 +0000 (12:28 +0100)
scripts/qos/regles.bacgl [new file with mode: 0644]

diff --git a/scripts/qos/regles.bacgl b/scripts/qos/regles.bacgl
new file mode 100644 (file)
index 0000000..1dcd8e4
--- /dev/null
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+$IF_INTERNET='eth0'
+$NET_BACGL='195.24.196.112/28'
+
+modprobe ifb numifbs=1
+
+ip link set ifb0
+
+tc qdisc add dev  $IF_INTERNET ingress
+
+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
+
+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 132
+
+# 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
+
+# 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
+
+#groupe des visios
+tc class add dev ifb0 parent 1:1 classid 1:12 htb rate 768 kbit \
+       ceil 1200 kbit prio 3
+
+# groupe DMZ
+tc class add dev ifb0 parent 1:1 classid 1:13 htb rate 256 kbit \
+       ceil 512 kbit prio 2
+
+# groupe PC
+tc class add dev ifb0 parent 1:1 classid 1:14 htb rate 1838 kbit \
+       ceil 2048 kbit prio 4
+
+#----
+# groupe prof
+tc class add dev ifb0 parent 1:14 classid 1:140 htb rate 128 kbit \
+       ceil 1500 kbit prio 4
+
+# groupe foad
+tc class add dev ifb0 parent 1:14 classid 1:145 htb rate 256 kbit \
+       ceil 1500 kbit prio 4
+
+# groupe cai
+tc class add dev ifb0 parent 1:14 classid 1:141 htb rate 256 kbit \
+       ceil 1500 kbit prio 3
+
+# groupe formation
+tc class add dev ifb0 parent 1:14 classid 1:142 htb rate 256 kbit \
+       ceil 1500 kbit prio 2
+
+# groupe nomade
+tc class add dev ifb0 parent 1:14 classid 1:144 htb rate 512 kbit \
+       ceil 1500 kbit prio 3
+
+# groupe personnel
+tc class add dev ifb0 parent 1:14 classid 1:143 htb rate 430 kbit \
+       ceil 1500 kbit 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
+
+
+# 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
+
+# mise en place des filtres
+# VOIP
+tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
+       match ip protocol 17 0xff \
+       match ip sport 4569 0xffff flowid 1:11
+# Visio
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip dst $IP_VISIO flowid 1:12
+
+# deux autres classes
+tc class add dev ifb0 parent 1:13 classid 1:131 htb rate 168 kbit \
+       ceil 512 kbit prio 2
+
+tc class add dev ifb0 parent 1:13 classid 1:132 htb rate 56 kbit \
+       ceil 192 kbit prio 3
+
+# filtres ..
+
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip protocol 6 0xff \
+       match ip dport 80 0xffff flowid 1:131
+
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip protocol 6 0xff \
+       match ip sport 80 0xffff flowid 1:131
+
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip protocol 6 0xff \
+       match ip sport 443 0xffff flowid 1:131
+
+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:131
+
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip protocol 6 0xff \
+       match ip sport 587 0xffff flowid 1:131
+
+tc filter add dev ifb0 protocol ip parent 1:0 prio 2 u32 \
+       match ip protocol 6 0xff \
+       match ip dport 587 0xffff flowid 1:131
+
+# et ainsi de suite
+
+tc qdisc add dev ifb0 parent 1:131 handle 131: sfq perturb 10
+tc qdisc add dev ifb0 parent 1:132 handle 132: sfq perturb 10