balancear carga sobre varios adsl

Imagen de plcabgut

Tema: 

Después de haber leído bastante sobre balanceo de carga, bonding, el manual de lartc.
También mire lo que hay en algunos post del grupo.
Esto esta probado para un Ubuntu Server 8.04, es necesario el paquete "iproute2" que
si no se tiene instalado, debes instalarlo.
El kernel en el que esta probado es 2.6.24
El servidor tiene tres tarjetas dos hacia los router con ips 192.168.0.11 y 192.168.1.11, y una hacia la red LAN 10.10.10.2
Las ips de los router son 192.168.0.100 y 192.168.1.100

#######################################
PASO1
meto los datos de las nuevas tablas de enrutamiento
/etc/iproute2/tr_tables

# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep

200 router0
201 router1

#######################################
PASO2
En vez de crear un script para meter las rutas en las tablas router0 y router1 lo metemos en el fichero de interfaces
/etc/network/interfaces
# interfaz conectado al Router 2
iface eth0 inet static
address 192.168.0.11
netmask 255.255.255.0
post-up ip route add 192.168.0.0 dev eth0 src 192.168.0.11 table router0
post-up ip route add default via 192.168.0.100 table router0
post-up ip rule add from 192.168.0.11 table router0
post-down ip rule del from 192.168.0.11 table router0
auto eth0

# interfaz conectado al Router 1
iface eth1 inet static
address 192.168.1.11
netmask 255.255.255.0
post-up ip route add 192.168.1.0 dev eth1 src 192.168.1.11 table router1
post-up ip route add default via 192.168.1.100 table router1
post-up ip rule add from 192.168.1.11 table router1
post-down ip rule del from 192.168.1.11 table router1
auto eth1

# interfaz para LAN
iface eth2 inet static
address 10.10.10.2
netmask 255.255.255.0
auto eth2

#######################################
PASO3
Meto en /etc/rc.local
al final la linea que activa el balanceo

## Comando mágico para activar el balanceo de carga
ip route add default scope global \
nexthop via 192.168.0.100 dev eth1 weight 1 \
nexthop via 192.168.1.100 dev eth0 weight 1 \

#######################################
PASO4
Descomentamos la linea del fichero /etc/sysctl.conf
net.ipv4.tcp_syncookies=1

Referencias
http://izzykinomoto.wordpress.com/2010/01/13/sin-morir-en-el-intento-multiples-conexiones-a-internet/
http://www.ssi.bg/~ja/nano.txt
http://lartc.org/howto/lartc.rpdb.multiple-links.html
http://askville.amazon.com/setup-load-balancing-usb-modems-computer-linux/AnswerViewer.do?requestId=4133922
http://www.linuxhorizon.ro/iproute2.html
http://www.ubuntu-es.org/node/17862

Comentarios