Subversion Repositories ALCASAR

Rev

Rev 827 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 827 Rev 1322
Line 1... Line 1...
1
#!/bin/sh
1
#!/bin/sh
2
# $Id: alcasar-iptables-qos.sh 827 2012-02-14 23:32:20Z franck $
2
# $Id: alcasar-iptables-qos.sh 1322 2014-04-01 18:09:08Z franck $
3
 
3
 
4
# script de mise en place des regles du parefeu d'Alcasar (mode QOS)
4
# script de mise en place des regles du parefeu d'Alcasar (mode QOS)
5
# 3abtux - Rexy
5
# 3abtux - Rexy
6
# Non adapté à ALCASAR car valable pour serveurs disposés dans le réseau LAN internet qui n'est pas notre besoin.
6
# Non adapté à ALCASAR car valable pour serveurs disposés dans le réseau LAN internet qui n'est pas notre besoin.
7
 
7
 
Line 14... Line 14...
14
TUNIF="tun0"
14
TUNIF="tun0"
15
PRIVATE_NETWORK_MASK="192.168.182.0/24"
15
PRIVATE_NETWORK_MASK="192.168.182.0/24"
16
PRIVATE_IP="192.168.182.1"
16
PRIVATE_IP="192.168.182.1"
17
 
17
 
18
# Vitesse max de la connexion internet en Kbit/s
18
# Vitesse max de la connexion internet en Kbit/s
19
MAX_UPLOAD="1000"
19
MAX_UPLOAD="100000"
20
MAX_DOWNLOAD="8000"
20
MAX_DOWNLOAD="100000"
21
 
21
 
22
FTP="50"
22
FTP="50"
23
WEB="100"
23
WEB="100"
24
SMTP="40"
24
SMTP="40"
25
POP="60"
25
POP="60"
Line 55... Line 55...
55
$TC class add dev $TUNIF parent 2: classid 2:1 htb rate ${MAX_DOWNLOAD}kbit ceil ${MAX_DOWNLOAD}kbit burst 6k
55
$TC class add dev $TUNIF parent 2: classid 2:1 htb rate ${MAX_DOWNLOAD}kbit ceil ${MAX_DOWNLOAD}kbit burst 6k
56
 
56
 
57
# Classe Download LIMIT
57
# Classe Download LIMIT
58
$TC class add dev $TUNIF parent 2:1 classid 2:10 htb rate ${MAX_DOWNLOAD}kbit ceil ${MAX_DOWNLOAD}kbit burst 6k prio 9
58
$TC class add dev $TUNIF parent 2:1 classid 2:10 htb rate ${MAX_DOWNLOAD}kbit ceil ${MAX_DOWNLOAD}kbit burst 6k prio 9
59
$TC filter add dev $TUNIF parent 2:0 protocol ip prio 9 handle 100 fw flowid 2:10
59
$TC filter add dev $TUNIF parent 2:0 protocol ip prio 9 handle 100 fw flowid 2:10
60
$IPTABLES -t mangle -A FORWARD -d $LAN_1	-j MARK --set-mark 100
60
$IPTABLES -t mangle -A FORWARD -s $PRIVATE_NETWORK_MASK	-j MARK --set-mark 100
61
$IPTABLES -t mangle -A FORWARD -d $LAN_2	-j MARK --set-mark 100
61
#$IPTABLES -t mangle -A FORWARD -d $LAN_2	-j MARK --set-mark 100
62
$IPTABLES -t mangle -A FORWARD -d $LAN_3	-j MARK --set-mark 100
62
#$IPTABLES -t mangle -A FORWARD -d $LAN_3	-j MARK --set-mark 100
63
$IPTABLES -t mangle -A FORWARD -d $LAN_4	-j MARK --set-mark 100
63
#$IPTABLES -t mangle -A FORWARD -d $LAN_4	-j MARK --set-mark 100
64
$IPTABLES -t mangle -A FORWARD -d $LAN_5	-j MARK --set-mark 100
64
#$IPTABLES -t mangle -A FORWARD -d $LAN_5	-j MARK --set-mark 100
65
 
65
 
66
 
66
 
67
# Classe par défaut
67
# Classe par défaut
68
$TC class add dev ${EXTIF} parent 1:1 classid 1:20 htb rate ${DEFAULT}kbit ceil ${MAX_UPLOAD}kbit burst 6k prio 3
68
$TC class add dev ${EXTIF} parent 1:1 classid 1:20 htb rate ${DEFAULT}kbit ceil ${MAX_UPLOAD}kbit burst 6k prio 3
69
 
69
 
70
# Classe rapide
70
# Classe rapide
71
$TC class add dev ${EXTIF} parent 1:20 classid 1:10 htb rate ${SPEED}kbit ceil ${MAX_UPLOAD}kbit burst 6k prio 1
71
$TC class add dev ${EXTIF} parent 1:20 classid 1:10 htb rate ${SPEED}kbit ceil ${MAX_UPLOAD}kbit burst 6k prio 1
72
$TC filter add dev ${EXTIF} parent 1:0 protocol ip prio 1 handle 10 fw flowid 1:10
72
$TC filter add dev ${EXTIF} parent 1:0 protocol ip prio 1 handle 10 fw flowid 1:10
73
$IPTABLES -t mangle -A OUTPUT  -p tcp --dport 6667 -j MARK --set-mark 10
73
#$IPTABLES -t mangle -A OUTPUT  -p tcp --dport 6667 -j MARK --set-mark 10
74
$IPTABLES -t mangle -A FORWARD -p tcp --dport 6667 -j MARK --set-mark 10
74
#$IPTABLES -t mangle -A FORWARD -p tcp --dport 6667 -j MARK --set-mark 10
75
$IPTABLES -t mangle -A FORWARD -p tcp --sport 6667 -j MARK --set-mark 10
75
#$IPTABLES -t mangle -A FORWARD -p tcp --sport 6667 -j MARK --set-mark 10
76
$IPTABLES -t mangle -A FORWARD -p tcp --sport 7000 -j MARK --set-mark 10
76
#$IPTABLES -t mangle -A FORWARD -p tcp --sport 7000 -j MARK --set-mark 10
77
$IPTABLES -t mangle -A FORWARD -p tcp --sport 6668 -j MARK --set-mark 10
77
#$IPTABLES -t mangle -A FORWARD -p tcp --sport 6668 -j MARK --set-mark 10
78
$IPTABLES -t mangle -A FORWARD -p tcp --sport 6669 -j MARK --set-mark 10
78
#$IPTABLES -t mangle -A FORWARD -p tcp --sport 6669 -j MARK --set-mark 10
79
$IPTABLES -t mangle -A FORWARD -p icmp             -j MARK --set-mark 10
79
$IPTABLES -t mangle -A FORWARD -p icmp             -j MARK --set-mark 10
80
$IPTABLES -t mangle -A OUTPUT  -p icmp             -j MARK --set-mark 10
80
$IPTABLES -t mangle -A OUTPUT  -p icmp             -j MARK --set-mark 10
81
$IPTABLES -t mangle -A OUTPUT  -p tcp --dport 22   -j MARK --set-mark 10
81
$IPTABLES -t mangle -A OUTPUT  -p tcp --dport 22   -j MARK --set-mark 10
82
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 22   -j MARK --set-mark 10
82
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 22   -j MARK --set-mark 10
83
$IPTABLES -t mangle -A FORWARD -p tcp --dport 22   -j MARK --set-mark 10
83
$IPTABLES -t mangle -A FORWARD -p tcp --dport 22   -j MARK --set-mark 10
84
# cs
84
# cs
85
$IPTABLES -t mangle -A FORWARD -p udp --sport 27005 -j MARK --set-mark 10
85
#$IPTABLES -t mangle -A FORWARD -p udp --sport 27005 -j MARK --set-mark 10
86
 
86
 
87
# Classe LENTE
87
# Classe LENTE
88
$TC class add dev $EXTIF parent 1:1 classid 1:30 htb rate ${SLOW}kbit prio 5
88
$TC class add dev $EXTIF parent 1:1 classid 1:30 htb rate ${SLOW}kbit prio 5
89
$TC filter add dev $EXTIF parent 1:0 protocol ip prio 5 handle 30 fw flowid 1:30
89
$TC filter add dev $EXTIF parent 1:0 protocol ip prio 5 handle 30 fw flowid 1:30
90
#$IPTABLES -t mangle -A FORWARD -p tcp --sport 4662   -j MARK --set-mark 30
90
#$IPTABLES -t mangle -A FORWARD -p tcp --sport 4662   -j MARK --set-mark 30
Line 95... Line 95...
95
# Classe WEB
95
# Classe WEB
96
$TC class add dev $EXTIF parent 1:20 classid 1:21 htb rate ${WEB}kbit prio 2
96
$TC class add dev $EXTIF parent 1:20 classid 1:21 htb rate ${WEB}kbit prio 2
97
$TC filter add dev $EXTIF parent 1:0 protocol ip prio 2 handle 21 fw flowid 1:21
97
$TC filter add dev $EXTIF parent 1:0 protocol ip prio 2 handle 21 fw flowid 1:21
98
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 80   -j MARK --set-mark 21
98
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 80   -j MARK --set-mark 21
99
$IPTABLES -t mangle -A FORWARD  -p tcp --sport 80   -j MARK --set-mark 21
99
$IPTABLES -t mangle -A FORWARD  -p tcp --sport 80   -j MARK --set-mark 21
-
 
100
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 443   -j MARK --set-mark 21
-
 
101
$IPTABLES -t mangle -A FORWARD  -p tcp --sport 443   -j MARK --set-mark 21
100
 
102
 
101
# Classe FTP
103
# Classe FTP
102
$TC class add dev $EXTIF parent 1:20 classid 1:22 htb rate ${FTP}kbit prio 4
104
$TC class add dev $EXTIF parent 1:20 classid 1:22 htb rate ${FTP}kbit prio 4
103
$TC filter add dev $EXTIF parent 1:0 protocol ip prio 3 handle 22 fw flowid 1:22
105
$TC filter add dev $EXTIF parent 1:0 protocol ip prio 3 handle 22 fw flowid 1:22
104
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 21   -j MARK --set-mark 22
106
$IPTABLES -t mangle -A OUTPUT  -p tcp --sport 21   -j MARK --set-mark 22