Subversion Repositories ALCASAR

Rev

Rev 672 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 672 Rev 900
Line 1... Line 1...
1
#!/bin/bash
1
#!/bin/bash
2
# $Id: alcasar-load_balancing.sh 672 2011-07-08 15:34:22Z richard $
2
# $Id: alcasar-load_balancing.sh 900 2012-06-21 16:15:27Z franck $
3
 
3
 
4
# alcasar-load_balancing.sh
4
# alcasar-load_balancing.sh
5
# by BOUIJOUX Franck (3abTux) <3abtux@free.fr>
5
# by BOUIJOUX Franck (3abTux) <3abtux@free.fr>
6
# This script is distributed under the Gnu General Public License (GPL)
6
# This script is distributed under the Gnu General Public License (GPL)
7
 
7
 
Line 14... Line 14...
14
WEIGHT2=1
14
WEIGHT2=1
15
#WEIGHT3=3
15
#WEIGHT3=3
16
 
16
 
17
# Définition des interfaces :
17
# Définition des interfaces :
18
DEV1=${1-eth0}  # defaut eth0
18
DEV1=${1-eth0}  # defaut eth0
19
DEV2=${2-eth0}  # defaut eth0 mais peut être autre chose :-)
19
DEV2=${2-eth0:1}  # defaut eth0:1 mais peut être autre chose :-)
20
#DEV3=${3-eth0}  # defaut eth0 mais peut être autre chose :-)
20
#DEV3=${3-eth0:2}  # defaut eth0:2 mais peut être autre chose :-)
21
 
21
 
22
# Trouver les adresses pour chaque interface
22
# Trouver les adresses pour chaque interface
23
IP1=`ifconfig $DEV1 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
23
IP1=`ifconfig $DEV1 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
24
IP2=`ifconfig $DEV2 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
24
IP2=`ifconfig $DEV2 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
25
#IP3=`ifconfig $DEV3 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
25
#IP3=`ifconfig $DEV3 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
26
 
26
 
27
# Trouver les passerelles pour chaque interface { ne fonctionne pas bien avec une seule interface } --> forcer les passerelles !
27
# Trouver les passerelles pour chaque interface { ne fonctionne pas bien avec une seule interface } --> forcer les passerelles !
28
#GW1=`route -n | grep $DEV1 | grep '^0.0.0.0' | awk '{ print $2 }'`
-
 
29
#GW2=`route -n | grep $DEV2 | grep '^0.0.0.0' | awk '{ print $2 }'`
-
 
30
GW1=192.168.1.1
28
GW1=192.168.1.1
31
GW2=192.168.1.6
29
GW2=192.168.2.6
32
#GW3=192.168.1.6
30
#GW3=192.168.3.1
33
 
31
 
34
echo "Acces internet depuis $DEV1: IP=$IP1  par la GW=$GW1"
32
echo "Acces internet depuis $DEV1: IP=$IP1  par la Gateway=$GW1"
35
echo "            et depuis $DEV2: IP=$IP2  par la GW=$GW2"
33
echo "            et depuis $DEV2: IP=$IP2  par la Gateway=$GW2"
36
#echo "            et depuis $DEV3: IP=$IP3  par la GW=$GW3"
34
#echo "            et depuis $DEV3: IP=$IP3  par la GW=$GW3"
37
 
35
 
-
 
36
#############################
38
# Mise en place des routes 
37
## Mise en place des routes 
39
 
38
 
40
# Tester si les tables existent sinon les créer
39
# Tester si les tables existent sinon les créer
41
if [ -z "`cat /etc/iproute2/rt_tables | grep '^252'`" ] ; then
40
if [ -z "`cat /etc/iproute2/rt_tables | grep '^252'`" ] ; then
42
        echo "252       rt_dev1" >> /etc/iproute2/rt_tables
41
        echo "252       rt_dev1" >> /etc/iproute2/rt_tables
43
fi
42
fi
Line 47... Line 46...
47
fi
46
fi
48
#if [ -z "`cat /etc/iproute2/rt_tables | grep '^250'`" ] ; then
47
#if [ -z "`cat /etc/iproute2/rt_tables | grep '^250'`" ] ; then
49
#       echo "250       rt_dev3" >> /etc/iproute2/rt_tables
48
#       echo "250       rt_dev3" >> /etc/iproute2/rt_tables
50
#fi
49
#fi
51
 
50
 
52
 
-
 
53
# Tables de routage
51
# Tables de routage
54
ip route add default via $GW1 table rt_dev1
52
ip route add default via $GW1 table rt_dev1
55
ip route add default via $GW2 table rt_dev2
53
ip route add default via $GW2 table rt_dev2
56
#ip route add default via $GW3 table rt_dev3
54
#ip route add default via $GW3 table rt_dev3
57
 
55
 
Line 59... Line 57...
59
ip rule add from $IP1 table rt_dev1
57
ip rule add from $IP1 table rt_dev1
60
ip rule add from $IP2 table rt_dev2
58
ip rule add from $IP2 table rt_dev2
61
#ip rule add from $IP3 table rt_dev3
59
#ip rule add from $IP3 table rt_dev3
62
 
60
 
63
# Effacer la route par défaut existante
61
# Effacer la route par défaut existante
-
 
62
ip route del default
64
if [ ! -z "`ip route show table main | grep 'nexthop'`" ] ; then
63
if [ ! -z "`ip route show table main | grep 'nexthop'`" ] ; then
65
        ip route del default scope global
64
        ip route del default scope global
66
fi
65
fi
67
 
66
 
68
# Alterne les liens basés sur chaque route
67
# Alterne les liens basés sur chaque route