Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 327 → Rev 328

/scripts/sbin/alcasar-load_balancing.sh
1,20 → 1,21
#!/bin/bash
# $Id$
# $Id$
 
# alcasar-load_balancing.sh Load-balance internet connection over two or more local links
# alcasar-load_balancing.sh Connection Internet au travers de 2 ou plusieurs liens internet
#
# Version: 0.8.0 - Wed, Sep 01, 2010
# Version: 0.9 - 17 Nov 2010
#
# by Author: BOUIJOUX Franck (3abTux) <3abtux@free.fr>
# en cours d'expérimentation et d 'écriture
#
# en cours d'expérimentation et d'écriture
# À optimiser pour une écriture plus
 
# Définion des poids des routes
# Définion des poids des routes : même poids --> alternance des connexions
# sinon le poids le plus faible est prioritaire
WEIGHT1=1
WEIGHT2=1
#WEIGHT3=3
 
# Set devices:
# Définition des interfaces :
DEV1=${1-eth0} # defaut eth0
DEV2=${2-eth0} # defaut eth0 mais peut être autre chose :-)
DEV3=${3-eth0} # defaut eth0 mais peut être autre chose :-)
24,7 → 25,7
IP2=`ifconfig $DEV2 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
#IP3=`ifconfig $DEV3 | grep inet | awk '{ print $2 }' | awk -F: '{ print $2 }'`
 
# iTrouver les passerelles pour chaque interface
# Trouver les passerelles pour chaque interface { ne fonctionne pas bien avec une seule interface } --> forcer les passerelles !
#GW1=`route -n | grep $DEV1 | grep '^0.0.0.0' | awk '{ print $2 }'`
#GW2=`route -n | grep $DEV2 | grep '^0.0.0.0' | awk '{ print $2 }'`
GW1=192.168.1.6
35,7 → 36,7
echo " et depuis $DEV2: IP=$IP2 par la GW=$GW2"
#echo " et depuis $DEV3: IP=$IP3 par la GW=$GW3"
 
# Definition des routes
# Mise en place des routes
 
# Tester si les tables existent sinon les créer
if [ -z "`cat /etc/iproute2/rt_tables | grep '^252'`" ] ; then
55,7 → 56,7
ip route add default via $GW2 table rt_dev2
#ip route add default via $GW3 table rt_dev3
 
# Créatin des règles
# Création des règles
ip rule add from $IP1 table rt_dev1
ip rule add from $IP2 table rt_dev2
#ip rule add from $IP3 table rt_dev3
65,7 → 66,7
ip route del default scope global
fi
 
# Alterne les liens basés sur chauqe route
# Alterne les liens basés sur chaque route
ip route add default scope global nexthop via $GW1 dev $DEV1 weight $WEIGHT1 \
nexthop via $GW2 dev $DEV2 weight $WEIGHT2
# nexthop via $GW3 dev $DEV3 weight $WEIGHT3