Skip to content

Commit 8b39bbb

Browse files
authored
Add files via upload
1 parent 0d42f18 commit 8b39bbb

10 files changed

+389
-0
lines changed

iproute/Instrucciones_adicionales

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
PARTE OBLIGATÓRIA
3+
4+
-Se ha añadido una cola adicional eth2 para limitar el tráfico hacia las estaciones desde el router.
5+
Fichero activaAmpleDeBanda.sh
6+
7+
8+
PARTE OPCIONAL
9+
10+
-Por el hecho de haver añadido la cola en eth2 mencionada anteriormente en el opcional deberemos eliminarla.
11+
-También es necesario que primero se ejecute el fichero configuraSubXarxes.sh en el router para añadir la regla en eth2 pertinente
12+
dado que en activaAmpleDeBanda.sh volvemos a añadir reglas para identificar el tráfico mediante realm para redirigirlo a las colas.
13+
14+

iproute/activaAmpleDeBanda.sh

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
#!/bin/sh
2+
3+
#afegim 1 cua amb set bandes de tipus tbf per repartir el tráfic desde el router que va cap els departaments
4+
tc qdisc add dev eth2 root handle 1: prio bands 7
5+
#aquesta cua no té gaire sentit en la part opcional
6+
tc qdisc add dev eth2 parent 1:1 handle 10: tbf rate 10kbit buffer 1600 limit 3000
7+
tc qdisc add dev eth2 parent 1:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000
8+
tc qdisc add dev eth2 parent 1:3 handle 30: tbf rate 30kbit buffer 1600 limit 3000
9+
tc qdisc add dev eth2 parent 1:4 handle 40: tbf rate 40kbit buffer 1600 limit 3000
10+
tc qdisc add dev eth2 parent 1:5 handle 50: tbf rate 50kbit buffer 1600 limit 3000
11+
tc qdisc add dev eth2 parent 1:6 handle 60: tbf rate 60kbit buffer 1600 limit 3000
12+
tc qdisc add dev eth2 parent 1:7 handle 70: tbf rate 70kbit buffer 1600 limit 3000
13+
14+
15+
#afegim 1 cua amb set bandes de tipus tbf per repartir el tráfic desde el router que ve desde els departaments
16+
#i surt per eth0
17+
tc qdisc add dev eth0 root handle 2: prio bands 7
18+
19+
tc qdisc add dev eth0 parent 2:1 handle 10: tbf rate 10kbit buffer 1600 limit 3000
20+
tc qdisc add dev eth0 parent 2:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000
21+
tc qdisc add dev eth0 parent 2:3 handle 30: tbf rate 30kbit buffer 1600 limit 3000
22+
tc qdisc add dev eth0 parent 2:4 handle 40: tbf rate 40kbit buffer 1600 limit 3000
23+
tc qdisc add dev eth0 parent 2:5 handle 50: tbf rate 50kbit buffer 1600 limit 3000
24+
tc qdisc add dev eth0 parent 2:6 handle 60: tbf rate 60kbit buffer 1600 limit 3000
25+
tc qdisc add dev eth0 parent 2:7 handle 70: tbf rate 70kbit buffer 1600 limit 3000
26+
27+
#afegim 1 cua amb set bandes de tipus tbf per repartir el tráfic desde el router que ve desde els departaments
28+
#i surt pet eth1
29+
tc qdisc add dev eth1 root handle 3: prio bands 7
30+
31+
tc qdisc add dev eth1 parent 3:1 handle 10: tbf rate 10kbit buffer 1600 limit 3000
32+
tc qdisc add dev eth1 parent 3:2 handle 20: tbf rate 20kbit buffer 1600 limit 3000
33+
tc qdisc add dev eth1 parent 3:3 handle 30: tbf rate 30kbit buffer 1600 limit 3000
34+
tc qdisc add dev eth1 parent 3:4 handle 40: tbf rate 40kbit buffer 1600 limit 3000
35+
tc qdisc add dev eth1 parent 3:5 handle 50: tbf rate 50kbit buffer 1600 limit 3000
36+
tc qdisc add dev eth1 parent 3:6 handle 60: tbf rate 60kbit buffer 1600 limit 3000
37+
tc qdisc add dev eth1 parent 3:7 handle 70: tbf rate 70kbit buffer 1600 limit 3000
38+
39+
40+
41+
#afegim regles de routing que permeten marcar els paquets per després aplicar les regles de filtratge.
42+
#això no té sentit en la part opcional amb múltiples interficies.
43+
ip route add 192.168.2.32/27 dev eth2 scope link realm 1
44+
ip route add 192.168.2.64/27 dev eth2 scope link realm 2
45+
ip route add 192.168.2.96/27 dev eth2 scope link realm 3
46+
ip route add 192.168.2.128/27 dev eth2 scope link realm 4
47+
ip route add 192.168.2.160/27 dev eth2 scope link realm 5
48+
ip route add 192.168.2.192/27 dev eth2 scope link realm 6
49+
ip route add 192.168.2.224/27 dev eth2 scope link realm 7
50+
51+
#Si ens dirigim cap als departaments afegim a les cues els paquets en funció del valor realm.
52+
#això no té sentit en la part opcional amb múltiples interficies.
53+
tc filter add dev eth2 parent 1:0 protocol ip \route to 1 classid 1:1
54+
tc filter add dev eth2 parent 1:0 protocol ip \route to 2 classid 1:2
55+
tc filter add dev eth2 parent 1:0 protocol ip \route to 3 classid 1:3
56+
tc filter add dev eth2 parent 1:0 protocol ip \route to 4 classid 1:4
57+
tc filter add dev eth2 parent 1:0 protocol ip \route to 5 classid 1:5
58+
tc filter add dev eth2 parent 1:0 protocol ip \route to 6 classid 1:6
59+
tc filter add dev eth2 parent 1:0 protocol ip \route to 7 classid 1:7
60+
61+
#Si venim dels departaments classifiquem a les cues en funció del realm per la eth0.
62+
tc filter add dev eth0 parent 2:0 protocol ip \route from 1 classid 2:1
63+
tc filter add dev eth0 parent 2:0 protocol ip \route from 2 classid 2:2
64+
tc filter add dev eth0 parent 2:0 protocol ip \route from 3 classid 2:3
65+
tc filter add dev eth0 parent 2:0 protocol ip \route from 4 classid 2:4
66+
tc filter add dev eth0 parent 2:0 protocol ip \route from 5 classid 2:5
67+
tc filter add dev eth0 parent 2:0 protocol ip \route from 6 classid 2:6
68+
tc filter add dev eth0 parent 2:0 protocol ip \route from 7 classid 2:7
69+
70+
#Si venim dels departaments classifiquem a les cues en funció del realm per la eth1.
71+
tc filter add dev eth1 parent 3:0 protocol ip \route from 1 classid 3:1
72+
tc filter add dev eth1 parent 3:0 protocol ip \route from 2 classid 3:2
73+
tc filter add dev eth1 parent 3:0 protocol ip \route from 3 classid 3:3
74+
tc filter add dev eth1 parent 3:0 protocol ip \route from 4 classid 3:4
75+
tc filter add dev eth1 parent 3:0 protocol ip \route from 5 classid 3:5
76+
tc filter add dev eth1 parent 3:0 protocol ip \route from 6 classid 3:6
77+
tc filter add dev eth1 parent 3:0 protocol ip \route from 7 classid 3:7

iproute/activaEmmascarament.sh

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/sh
2+
3+
4+
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
5+
#iptables -t nat -A POSTROUTING -s 192.168.2.32/27 -j MASQUERADE
6+
#iptables -t nat -A POSTROUTING -s 192.168.2.64/27 -j MASQUERADE
7+
#iptables -t nat -A POSTROUTING -s 192.168.2.96/27 -j MASQUERADE
8+
#iptables -t nat -A POSTROUTING -s 192.168.2.128/27 -j MASQUERADE
9+
#iptables -t nat -A POSTROUTING -s 192.168.2.160/27 -j MASQUERADE
10+
#iptables -t nat -A POSTROUTING -s 192.168.2.192/27 -j MASQUERADE
11+
#iptables -t nat -A POSTROUTING -s 192.168.2.224/27 -j MASQUERADE
12+
13+
#añadir estas reglas de base y luego simplemente hacer un replace -> iptables -R "x" FORWARD -s 192.168.2.x/27 -j DROP/ACCEPT sencillo por número 1,2,3...7
14+
15+
16+
iptables -t filter -A FORWARD -s 192.168.2.32/27 -j ACCEPT
17+
iptables -t filter -A FORWARD -s 192.168.2.64/27 -j ACCEPT
18+
iptables -t filter -A FORWARD -s 192.168.2.96/27 -j ACCEPT
19+
iptables -t filter -A FORWARD -s 192.168.2.128/27 -j ACCEPT
20+
iptables -t filter -A FORWARD -s 192.168.2.160/27 -j ACCEPT
21+
iptables -t filter -A FORWARD -s 192.168.2.192/27 -j ACCEPT
22+
iptables -t filter -A FORWARD -s 192.168.2.224/27 -j ACCEPT
23+
24+
25+
echo "200 T1" >> /etc/iproute2/rt_tables
26+
echo "201 T2" >> /etc/iproute2/rt_tables
27+
28+
ip route add 192.168.0.0/24 dev eth0 src 192.168.0.2 table T1
29+
ip route add default via 192.168.0.1 table T1
30+
31+
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.2 table T2
32+
ip route add default via 192.168.1.1 table T2
33+
34+
ip rule add from 192.168.0.2 table T1
35+
ip rule add from 192.168.1.2 table T2
36+
37+
#balanceig de càrrega entre eth0 i eth1
38+
ip route add default scope global nexthop via 192.168.0.1 dev eth0 weight 5 \nexthop via 192.168.1.1 dev eth1 weight 5
39+
40+
41+
42+
43+

iproute/canviaBalanceig.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/bin/bash
2+
#ip route del default
3+
#script per canviar el balanceig de càrrega entre els eth0 i eth1.
4+
ip route change default scope global nexthop via 192.168.0.1 dev eth0 weight $1 \nexthop via 192.168.1.1 dev eth1 weight $2

iproute/canviaFiltrePerFW.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/bash
2+
3+
#script que permet afegir els filtres per FW
4+
5+
#ip route del 192.168.2.32/27 dev eth2
6+
#ip route del 192.168.2.64/27 dev eth2
7+
#ip route del 192.168.2.96/27 dev eth2
8+
#ip route del 192.168.2.128/27 dev eth2
9+
#ip route del 192.168.2.160/27 dev eth2
10+
#ip route del 192.168.2.192/27 dev eth2
11+
#ip route del 192.168.2.224/27 dev eth2
12+
#eliminem la cua afegida en activaAmpleDeBanda.sh que no té sentit en aquest context.
13+
tc qdisc del dev eth2 root
14+
15+
#afegim regles de routing que permeten marcar els paquets per després aplicar les regles de filtratge.
16+
iptables -A PREROUTING -t mangle -i eth2 -j MARK --set-mark 1
17+
iptables -A PREROUTING -t mangle -i eth3 -j MARK --set-mark 2
18+
iptables -A PREROUTING -t mangle -i eth4 -j MARK --set-mark 3
19+
iptables -A PREROUTING -t mangle -i eth5 -j MARK --set-mark 4
20+
iptables -A PREROUTING -t mangle -i eth6 -j MARK --set-mark 5
21+
iptables -A PREROUTING -t mangle -i eth7 -j MARK --set-mark 6
22+
iptables -A PREROUTING -t mangle -i eth8 -j MARK --set-mark 7
23+
24+
tc filter add dev eth0 protocol ip parent 2:0 handle 1 fw flowid 2:1
25+
tc filter add dev eth0 protocol ip parent 2:0 handle 2 fw flowid 2:2
26+
tc filter add dev eth0 protocol ip parent 2:0 handle 3 fw flowid 2:3
27+
tc filter add dev eth0 protocol ip parent 2:0 handle 4 fw flowid 2:4
28+
tc filter add dev eth0 protocol ip parent 2:0 handle 5 fw flowid 2:5
29+
tc filter add dev eth0 protocol ip parent 2:0 handle 6 fw flowid 2:6
30+
tc filter add dev eth0 protocol ip parent 2:0 handle 7 fw flowid 2:7
31+
32+
tc filter add dev eth1 protocol ip parent 3:0 handle 1 fw flowid 3:1
33+
tc filter add dev eth1 protocol ip parent 3:0 handle 2 fw flowid 3:2
34+
tc filter add dev eth1 protocol ip parent 3:0 handle 3 fw flowid 3:3
35+
tc filter add dev eth1 protocol ip parent 3:0 handle 4 fw flowid 3:4
36+
tc filter add dev eth1 protocol ip parent 3:0 handle 5 fw flowid 3:5
37+
tc filter add dev eth1 protocol ip parent 3:0 handle 6 fw flowid 3:6
38+
tc filter add dev eth1 protocol ip parent 3:0 handle 7 fw flowid 3:7

iproute/configuraSubxarxa.sh

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#!/bin/bash
2+
3+
#script para configurar los departamentos en función de su subred.
4+
#$1 -> subxarxa
5+
6+
7+
case $1 in
8+
192.168.2.32/27)
9+
10+
ip addr add 192.168.2.34/27 dev eth0
11+
ip route add default via 192.168.2.33
12+
;;
13+
192.168.2.64/27)
14+
15+
ip addr add 192.168.2.66/27 dev eth0
16+
ip route add default via 192.168.2.65
17+
18+
;;
19+
192.168.2.96/27)
20+
21+
ip addr add 192.168.2.98/27 dev eth0
22+
ip route add default via 192.168.2.97
23+
;;
24+
192.168.2.128/27)
25+
26+
ip addr add 192.168.2.130/27 dev eth0
27+
ip route add default via 192.168.2.129
28+
;;
29+
192.168.2.160/27)
30+
31+
ip addr add 192.168.2.162/27 dev eth0
32+
ip route add default via 192.168.2.161
33+
;;
34+
192.168.2.192/27)
35+
36+
ip addr add 192.168.2.194/27 dev eth0
37+
ip route add default via 192.168.2.193
38+
;;
39+
192.168.2.224/27)
40+
41+
ip addr add 192.168.2.226/27 dev eth0
42+
ip route add default via 192.168.2.225
43+
;;
44+
*)
45+
echo "La subred especificada no es correcta"
46+
;;
47+
esac

iproute/configuraSubxarxes.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
#direccions ip del gateway per les diferents subxarxes
3+
ip addr add 192.168.2.33/27 dev eth2
4+
ip addr add 192.168.2.65/27 dev eth3
5+
ip addr add 192.168.2.97/27 dev eth4
6+
ip addr add 192.168.2.129/27 dev eth5
7+
ip addr add 192.168.2.161/27 dev eth6
8+
ip addr add 192.168.2.193/27 dev eth7
9+
ip addr add 192.168.2.225/27 dev eth8

iproute/modificaAccesPerSubxarxa.sh

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#!/bin/bash
2+
3+
#script para desactivar/activar el paso de los paquetes a internet a las diferentes subredes.
4+
#$1 -> activar/desactivar
5+
#$2 -> subxarxa
6+
7+
8+
case $2 in
9+
192.168.2.32/27)
10+
11+
if [ "$1" == "activar" ]
12+
then
13+
iptables -R FORWARD 1 -s 192.168.2.32/27 -j ACCEPT
14+
elif [ "$1" == "desactivar" ]
15+
then
16+
iptables -R FORWARD 1 -s 192.168.2.32/27 -j DROP
17+
else
18+
echo "se debe especificar activar/desactivar como primer parámetro"
19+
20+
fi
21+
22+
;;
23+
192.168.2.64/27)
24+
if [ "$1" == "activar" ]
25+
then
26+
iptables -R FORWARD 2 -s 192.168.2.64/27 -j ACCEPT
27+
elif [ "$1" == "desactivar" ]
28+
then
29+
iptables -R FORWARD 2 -s 192.168.2.64/27 -j DROP
30+
else
31+
echo "se debe especificar activar/desactivar como primer parámetro"
32+
33+
fi
34+
;;
35+
192.168.2.96/27)
36+
if [ "$1" == "activar" ]
37+
then
38+
iptables -R FORWARD 3 -s 192.168.2.96/27 -j ACCEPT
39+
elif [ "$1" == "desactivar" ]
40+
then
41+
iptables -R FORWARD 3 -s 192.168.2.96/27 -j DROP
42+
else
43+
echo "se debe especificar activar/desactivar como primer parámetro"
44+
45+
fi
46+
;;
47+
192.168.2.128/27)
48+
if [ "$1" == "activar" ]
49+
then
50+
iptables -R FORWARD 4 -s 192.168.2.128/27 -j ACCEPT
51+
elif [ "$1" == "desactivar" ]
52+
then
53+
iptables -R FORWARD 4 -s 192.168.2.128/27 -j DROP
54+
else
55+
echo "se debe especificar activar/desactivar como primer parámetro"
56+
57+
fi
58+
;;
59+
192.168.2.160/27)
60+
if [ "$1" == "activar" ]
61+
then
62+
iptables -R FORWARD 1 -s 192.168.2.160/27 -j ACCEPT
63+
elif [ "$1" == "desactivar" ]
64+
then
65+
iptables -R FORWARD 1 -s 192.168.2.160/27 -j DROP
66+
else
67+
echo "se debe especificar activar/desactivar como primer parámetro"
68+
69+
fi
70+
;;
71+
192.168.2.192/27)
72+
if [ "$1" == "activar" ]
73+
then
74+
iptables -R FORWARD 1 -s 192.168.2.192/27 -j ACCEPT
75+
elif [ "$1" == "desactivar" ]
76+
then
77+
iptables -R FORWARD 1 -s 192.168.2.192/27 -j DROP
78+
else
79+
echo "se debe especificar activar/desactivar como primer parámetro"
80+
81+
fi
82+
;;
83+
192.168.2.224/27)
84+
if [ "$1" == "activar" ]
85+
then
86+
iptables -R FORWARD 1 -s 192.168.2.224/27 -j ACCEPT
87+
elif [ "$1" == "desactivar" ]
88+
then
89+
iptables -R FORWARD 1 -s 192.168.2.224/27 -j DROP
90+
else
91+
echo "se debe especificar activar/desactivar como primer parámetro"
92+
93+
fi
94+
;;
95+
*)
96+
echo "La subred especificada no es correcta"
97+
;;
98+
esac
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#!/bin/bash
2+
3+
#script para cambiar el ancho de banda a las diferentes subredes.
4+
#$1 -> bandwith kbits
5+
#$2 -> subxarxa
6+
7+
8+
case $2 in
9+
192.168.2.32/27)
10+
tc qdisc replace dev eth2 parent 1:1 handle 10: tbf rate $1 buffer 1600 limit 3000
11+
tc qdisc replace dev eth0 parent 2:1 handle 10: tbf rate $1 buffer 1600 limit 3000
12+
tc qdisc replace dev eth1 parent 3:1 handle 10: tbf rate $1 buffer 1600 limit 3000
13+
14+
15+
16+
;;
17+
192.168.2.64/27)
18+
tc qdisc replace dev eth2 parent 1:2 handle 20: tbf rate $1 buffer 1600 limit 3000
19+
tc qdisc replace dev eth0 parent 2:2 handle 20: tbf rate $1 buffer 1600 limit 3000
20+
tc qdisc replace dev eth1 parent 3:2 handle 20: tbf rate $1 buffer 1600 limit 3000
21+
22+
;;
23+
192.168.2.96/27)
24+
tc qdisc replace dev eth2 parent 1:3 handle 30: tbf rate $1 buffer 1600 limit 3000
25+
tc qdisc replace dev eth0 parent 2:3 handle 30: tbf rate $1 buffer 1600 limit 3000
26+
tc qdisc replace dev eth1 parent 3:3 handle 30: tbf rate $1 buffer 1600 limit 3000
27+
28+
;;
29+
192.168.2.128/27)
30+
tc qdisc replace dev eth2 parent 1:4 handle 40: tbf rate $1 buffer 1600 limit 3000
31+
tc qdisc replace dev eth0 parent 2:4 handle 40: tbf rate $1 buffer 1600 limit 3000
32+
tc qdisc replace dev eth1 parent 3:4 handle 40: tbf rate $1 buffer 1600 limit 3000
33+
;;
34+
192.168.2.160/27)
35+
tc qdisc replace dev eth2 parent 1:5 handle 50: tbf rate $1 buffer 1600 limit 3000
36+
tc qdisc replace dev eth0 parent 2:5 handle 50: tbf rate $1 buffer 1600 limit 3000
37+
tc qdisc replace dev eth1 parent 3:5 handle 50: tbf rate $1 buffer 1600 limit 3000
38+
39+
;;
40+
192.168.2.192/27)
41+
tc qdisc replace dev eth2 parent 1:6 handle 60: tbf rate $1 buffer 1600 limit 3000
42+
tc qdisc replace dev eth0 parent 2:6 handle 60: tbf rate $1 buffer 1600 limit 3000
43+
tc qdisc replace dev eth1 parent 3:6 handle 60: tbf rate $1 buffer 1600 limit 3000
44+
45+
;;
46+
192.168.2.224/27)
47+
tc qdisc replace dev eth2 parent 1:7 handle 70: tbf rate $1 buffer 1600 limit 3000
48+
tc qdisc replace dev eth0 parent 2:7 handle 70: tbf rate $1 buffer 1600 limit 3000
49+
tc qdisc replace dev eth1 parent 3:7 handle 70: tbf rate $1 buffer 1600 limit 3000
50+
51+
;;
52+
*)
53+
echo "La subred especificada no es correcta"
54+
;;
55+
esac

0 commit comments

Comments
 (0)