4 NET_BACGL=195.24.196.112/28
5 NET_BACGL2=195.24.195.224/29
6 NET_DMZ_Priv=192.168.10.0/24
7 NET_DMZ_Partenaire_Priv=192.168.11.0/24
8 IP_VISIO_Dir=195.24.196.124
9 IP_VISIO_Reu=195.24.196.125
10 IP_VISIO_Form=195.24.196.126
11 IP_Pub_SOGo=195.24.196.116
12 IP_Pub_VOIP=195.24.196.117
15 modprobe ifb numifbs=1
20 # tc qdisc dev $IF_INTERNET ingress
21 # tc qdisc del dev ifb0 root handle 1:
23 tc qdisc add dev $IF_INTERNET ingress
26 #tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
27 # match ip6 dst $NET6_BACGL \
28 # flowid 1:1 action mirred egress redirect dev ifb0
30 tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
31 match ip dst $NET_BACGL \
32 flowid 1:1 action mirred egress redirect dev ifb0
34 tc filter add dev $IF_INTERNET parent ffff: protocol ip prio 1 u32 \
35 match ip dst $NET_BACGL2 \
36 flowid 1:1 action mirred egress redirect dev ifb0
38 echo "Création de classes"
39 echo "Création de la racine"
41 tc qdisc add dev ifb0 root handle 1: htb default 190
43 # premiere classe fille qui agrège tout le traffic
44 tc class add dev ifb0 parent 1: classid 1:1 htb rate 9882kbit ceil 10000kbit
46 # creation des classes enfants
48 tc class add dev ifb0 parent 1:1 classid 1:11 htb rate 128kbit \
52 tc class add dev ifb0 parent 1:1 classid 1:12 htb rate 3000kbit \
56 tc class add dev ifb0 parent 1:1 classid 1:13 htb rate 150kbit \
60 tc class add dev ifb0 parent 1:1 classid 1:14 htb rate 1000kbit \
63 # groupe DMZ Partenaire Priv
64 tc class add dev ifb0 parent 1:1 classid 1:15 htb rate 100kbit \
67 # groupe DMZ Partenaire Pub
68 tc class add dev ifb0 parent 1:1 classid 1:16 htb rate 100kbit \
72 tc class add dev ifb0 parent 1:1 classid 1:17 htb rate 100kbit \
76 tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 5304kbit \
79 #A l'interieur des PC on a les sous-classes suivantes
81 tc class add dev ifb0 parent 1:20 classid 1:132 htb rate 768kbit \
85 tc class add dev ifb0 parent 1:20 classid 1:133 htb rate 768kbit \
89 tc class add dev ifb0 parent 1:20 classid 1:131 htb rate 1000kbit \
93 tc class add dev ifb0 parent 1:20 classid 1:130 htb rate 1000kbit \
97 tc class add dev ifb0 parent 1:20 classid 1:125 htb rate 768kbit \
101 tc class add dev ifb0 parent 1:20 classid 1:120 htb rate 100kbit \
105 tc class add dev ifb0 parent 1:14 classid 1:190 htb rate 10kbit \
109 # ordonnanceurs par classe
110 for id in 120 {130..133} 190
112 tc qdisc add dev ifb0 parent 1:$id handle $id: sfq perturb 10
114 #tc qdisc add dev ifb0 parent 1:11 handle 11: sfq perturb 10
115 #tc qdisc add dev ifb0 parent 1:12 handle 12: sfq perturb 10
117 # mise en place des filtres
119 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
120 match ip protocol 17 0xff \
121 match ip sport 4569 0xffff flowid 1:11
123 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
124 match ip protocol 17 0xff \
125 match ip dport 4569 0xffff flowid 1:11
128 #mettre le masque IPvisio/28
129 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
130 match ip src $IP_VISIO_Dir/28 flowid 1:12
131 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
132 match ip src $IP_VISIO_Reu/28 flowid 1:12
133 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
134 match ip src $IP_VISIO_Form/28 flowid 1:12
136 # specifique à la DMZ
138 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
139 match ip src $IP_Pub_SOGo/28 flowid 1:13
141 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
142 match ip src $IP_Pub_VOIP/28 flowid 1:13
145 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
146 match ip src $NET_DMZ_Priv flowid 1:14
149 tc filter add dev ifb0 protocol ip parent 1:0 prio 1 u32 \
150 match ip src $NET_DMZ_Partenaire_Priv flowid 1:15
152 #DMZ partenaire pub .. Est-ce que ça vaut vraiment la peine ?
155 tc filter add ifb0 parent 1:0 protocol ip prio 1 handle 35 fw classid 1:16
158 tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 32 fw flowid 1:132
161 tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 33 fw flowid 1:133
164 tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 31 fw flowid 1:131
167 tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 20 fw flowid 1:120
170 tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 25 fw flowid 1:125
172 # réseau personnel AUF
173 tc filter add dev ifb0 protocol ip parent 1: prio 1 handle 20 fw flowid 1:120
175 # le reste ... bah par défaut tout ira dans la classe 1:190
177 #les règles iptables à mettre en place sur fw
178 # un exemple avec la sonde
179 # iptables -t mangle -A PREROUTING -s 192.168.35.0/24 -j MARK --set-mark 0x35
180 #iptables -t mangle -A PREROUTING -s 192.168.35.0/24 -j RETURN