Line 1... |
Line 1... |
1 |
#!/bin/bash
|
1 |
#!/bin/bash
|
2 |
# $Id: alcasar-load_balancing.sh 328 2010-11-17 08:12:43Z franck $
|
2 |
# $Id: alcasar-load_balancing.sh 376 2010-12-19 22:24:58Z franck $
|
3 |
|
3 |
|
4 |
# alcasar-load_balancing.sh Connection Internet au travers de 2 ou plusieurs liens internet
|
4 |
# alcasar-load_balancing.sh Connection Internet au travers de 2 ou plusieurs liens internet
|
5 |
#
|
5 |
#
|
6 |
# Version: 0.9 - 17 Nov 2010
|
6 |
# Version: 0.9 - 17 Nov 2010
|
7 |
#
|
7 |
#
|
8 |
# by Author: BOUIJOUX Franck (3abTux) <3abtux@free.fr>
|
8 |
# by Author: BOUIJOUX Franck (3abTux) <3abtux@free.fr>
|
9 |
# en cours d'expérimentation et d'écriture
|
9 |
# en cours d'expérimentation et d'écriture
|
10 |
# À optimiser pour une écriture plus
|
10 |
# À optimiser
|
11 |
|
11 |
|
12 |
# Définion des poids des routes : même poids --> alternance des connexions
|
12 |
# Définion des poids des routes : même poids --> alternance des connexions
|
13 |
# sinon le poids le plus faible est prioritaire
|
13 |
# sinon le poids le plus faible est prioritaire
|
14 |
WEIGHT1=1
|
14 |
WEIGHT1=1
|
15 |
WEIGHT2=1
|
15 |
WEIGHT2=1
|
16 |
#WEIGHT3=3
|
16 |
#WEIGHT3=3
|
17 |
|
17 |
|
18 |
# Définition des interfaces :
|
18 |
# Définition des interfaces :
|
19 |
DEV1=${1-eth0} # defaut eth0
|
19 |
DEV1=${1-eth0} # defaut eth0
|
20 |
DEV2=${2-eth0} # defaut eth0 mais peut être autre chose :-)
|
20 |
DEV2=${2-eth0} # defaut eth0 mais peut être autre chose :-)
|
21 |
DEV3=${3-eth0} # defaut eth0 mais peut être autre chose :-)
|
21 |
#DEV3=${3-eth0} # defaut eth0 mais peut être autre chose :-)
|
22 |
|
22 |
|
23 |
# Trouver les adresses pour chaque interface
|
23 |
# Trouver les adresses pour chaque interface
|
24 |
IP1=`ifconfig $DEV1 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
|
24 |
IP1=`ifconfig $DEV1 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
|
25 |
IP2=`ifconfig $DEV2 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
|
25 |
IP2=`ifconfig $DEV2 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
|
26 |
#IP3=`ifconfig $DEV3 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
|
26 |
#IP3=`ifconfig $DEV3 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
|
27 |
|
27 |
|
28 |
# Trouver les passerelles pour chaque interface { ne fonctionne pas bien avec une seule interface } --> forcer les passerelles !
|
28 |
# Trouver les passerelles pour chaque interface { ne fonctionne pas bien avec une seule interface } --> forcer les passerelles !
|
29 |
#GW1=`route -n | grep $DEV1 | grep '^0.0.0.0' | awk '{ print $2 }'`
|
29 |
#GW1=`route -n | grep $DEV1 | grep '^0.0.0.0' | awk '{ print $2 }'`
|
30 |
#GW2=`route -n | grep $DEV2 | grep '^0.0.0.0' | awk '{ print $2 }'`
|
30 |
#GW2=`route -n | grep $DEV2 | grep '^0.0.0.0' | awk '{ print $2 }'`
|
31 |
GW1=192.168.1.6
|
31 |
GW1=192.168.1.1
|
32 |
GW2=192.168.1.1
|
32 |
GW2=192.168.1.6
|
33 |
#GW3=192.168.1.6
|
33 |
#GW3=192.168.1.6
|
34 |
|
34 |
|
35 |
echo "Acces internet depuis $DEV1: IP=$IP1 par la GW=$GW1"
|
35 |
echo "Acces internet depuis $DEV1: IP=$IP1 par la GW=$GW1"
|
36 |
echo " et depuis $DEV2: IP=$IP2 par la GW=$GW2"
|
36 |
echo " et depuis $DEV2: IP=$IP2 par la GW=$GW2"
|
37 |
#echo " et depuis $DEV3: IP=$IP3 par la GW=$GW3"
|
37 |
#echo " et depuis $DEV3: IP=$IP3 par la GW=$GW3"
|