Balanceo de carga parte 2 ADSL

download Balanceo de carga parte 2 ADSL

of 2

Transcript of Balanceo de carga parte 2 ADSL

  • 8/18/2019 Balanceo de carga parte 2 ADSL

    1/2

    Sobre Ubuntu (/sobre_ubuntu)

    Documentación (http://doc.ubuntu-es.org) Blogs (/blog)

    Foros (/forum)

     (/)   Buscar 

    Ver (/node/17862)   Comentarios más valorados (/node/17862/best-commen ts)

      (/user/13861)

    Taber (/user/13861)

    0 puntos

    Balancear Carga con dos ADSL y un solo equipo proxy: iproute2

    Dom, 28/05/2006 - 12:56

    Tutoriales y Trucos (/forum/68)

    Planteemos la situación:

    Mi empresa tiene 2 adsl, repartidos como dios le dio a entender, es decir,

    cada uno tiene configurado de puerta de enlace uno de los dos pero de

    manera aleatoria. Como os podeis imaginar esto no es solución, ya que

    cuando se caia un adsl todo el mundo que tubiera ese adsl como puerta

    de enlace dejaba de tener internet. Tenemos un adsl de 4 megas y otro de

    20 megas (bueno teoricos).

    Bien, la solución fue el balanceo de carga con los dos adsl, y que ademas asignara diferentes pesos a cadauna de las conexiones, para dar mas car ga a un adsl que otro. No me voy a parar mucho en explicar los

    conceptos de redes, asi que puede ser algo "duro" de leer...

    Yo pense que esto iba a ser complicado, pero no fue asi. Cogi una maquina antigua, un Pentium III a 733 con

    1 Gb y 3 tarjetas ethernet. Instalé una ubuntu como servidor (al final usaremos Debian, ya que recomiendan

    un Kernel 2.4 para la estabilidad o algo asi... pero con Ubuntu funciona igual de bien). Hay que instalar el

    paquete "iproute2", con esto tendremos un monton de comandos nuevos que permiten trastear a nivel 3,

    vamos a nivel IP, con tu linux. A destacar el comando "tc" que te permite hacer un QoS de manera muy

    sencillita.

    Bueno a lo que  ibamos:

    1.) Tenemos 3 tarjetas ethernet: eth0,  eth1, eth2. donde:

    eth0 (192.168.0.x) -> red privada (192 .168.0.0/24)

    eth1 (10.10.10.2) -> adsl1 (10.10.10.1)

    eth2 (10.10.11.2) -> adsl2 (10.10.11.1)

    Mi maquina que funcionara para balancear carga tiene esta topologia de red, como veis usa 3 subredes. Hay

    que destacar que la conexion entre los routers de adsl y la maquina, pueden ser cables directamente

    conectados, o usar un switch... eso depende de los cacharros que tengas por alli :)

    2.) Comprobamos que tenemos el comando "ip", si no es asi, mira si has instalado el paquete "iproute". Este

    comando nos permitirá hacer las rutas y el balanceo de carga.

    3.) Inserta esto:

    # echo 200 adsl1 >> /etc/iproute2/rt_tables

    # echo 201 adsl2 >> /etc/iproute2/rt_tables

    Esto nos introduce dos nuevas tablas de enrutamiento llamadas "adsl1" y "adsl2", con esos numeros

    asociados (mira los que ya estan en uso haciendo un "more /etc/iproute2/rt_tables" y asi no machacar 

    ninguna tabla). Asi podremos definir reglas diferente para cada uno de los adsl sin hacer todo un lio, y

    ademas poder saber en todo momento que estamos haciendo.

    4.) Definimos el enrutamiento de adsl1:

    # ip route add 10.10.10.0/24 dev eth1 src 10.10.10.2 table adsl1

    # ip route add default via 10.10.10.1 table adsl1

    Esto le dice que la red 10.10.10.0 es la red de mi interfaz eth1 con la salida por el adsl.Compruebalo mediante: ip route show table adsl1

    5.) Definimos el enrutamiento del adsl2:

    # ip route add 10.10.11.0/24 dev eth2 src 10.10.11.2 table adsl2 

    # ip route add default via 10.10.11.1 table adsl2 

    Idem a lo anterior.

    6.) Poner las rutas principales:

    # ip route add 10.10.10.0/24 dev eth1 src 10.10.10.2 

    # ip route add 10.10.11.0/24 dev eth2 src 10.10.11.2 

    Date cuenta que ahora no decimos en que tabla meterlo, por lo que se mete en la tabla principal. Lo anterior 

    era para cuando el trafico ya esta en una de las dos subredes de salida y necesitamos saber como enrutarlo.

    En cambio las segundas son las primeras reglas para que funcione y las envie dondo debe.

    7.) ¿Donde mando esto?

    # ip rule add from 10.10.10.2 table adsl1

    # ip rule add from 10.10.11.2 table adsl2 

    Esto sirve para aplicar las reglas almacenadas en cada una de las tablas cuando se cumple que vienen de

    esas ips.8.) La madre del cordero: Balanceo de carga.

     

    31

    Inicio de sesión

    Nombre de usuario *

    Contraseña *

    Crear nueva cuenta (/user/register)

    Solicitar una nueva contraseña

    (/user/password)

    Iniciar ses ión

    Este sitio usa cookies para mejorar la experiencia de usuario

    Navegando o haciendo click en cualquier enlace está dándonos consentimiento para

    usar cookies.

    Acepto 

    No, give me more info

    http://www.ubuntu-es.org/user/13861http://www.ubuntu-es.org/user/13861http://www.ubuntu-es.org/node/17862http://www.ubuntu-es.org/node/17862/best-commentshttp://www.ubuntu-es.org/forumhttp://www.ubuntu-es.org/forumhttp://doc.ubuntu-es.org/http://www.ubuntu-es.org/http://www.ubuntu-es.org/sobre_ubuntuhttp://www.ubuntu-es.org/http://www.ubuntu-es.org/sobre_ubuntuhttp://www.ubuntu-es.org/user/passwordhttp://www.ubuntu-es.org/user/registerhttp://www.ubuntu-es.org/forum/68http://www.ubuntu-es.org/user/13861http://www.ubuntu-es.org/user/13861http://www.ubuntu-es.org/node/17862/best-commentshttp://www.ubuntu-es.org/node/17862http://www.ubuntu-es.org/http://www.ubuntu-es.org/forumhttp://www.ubuntu-es.org/bloghttp://doc.ubuntu-es.org/http://www.ubuntu-es.org/sobre_ubuntu

  • 8/18/2019 Balanceo de carga parte 2 ADSL

    2/2

    (/user/2676

    0

    ip route add default scope global nexthop via 10.10.10.2 dev eth1 weight 1 nexthop via 10.10.11.2 dev eth2 

    weight 2 

    Como ves, le he dicho: "Usa eth1 1 de cada 3 veces, sino usa eth2 2 de cada 3 veces".

    Solo existe un problema. Las rutas son cacheadas, es decir, si tu pides "www.google.es

    (http://www.google.es)" y se enruta por adsl1, la siguiente vez, hasta que caduque el cacheo, ira por adsl1...

    Esto es malo... Ya que si adsl1 se cae, las rutas cacheadas fallaran, aunque adsl2 este disponible, si no

    estan cacheadas iran por adsl2.

    Para solucionarlo, habria que parchear el kernel, segun estos parches: http://www.ssi.bg/~ja/#routes

    (http://www.ssi.bg/~ja/#routes)

     Aunque con hacer: ip route flush  se podria arreglar de manera manual.

    Hilo movido (/comment/322918#comment-322918)Gabriel_M (/user/26762) Jue, 19/03/2009 - 00:51

     A un for o m as apro piad o

    Equipo de Ubuntu-es (index.php?q=contacto)

    Normas (index.php?q=forum/normas)

    Documen tación (http://doc.ubuntu-es.org/)

    Saludos.

    Equipo de Ubuntu-es (/index.php?q=contacto)

    Normas (/index.php?q=forum/normas)

    Documen tación (http://doc.ubuntu-es.org/)

    Contacto (/contacto)

    Historia (/historia)

    Legal (/legal)

    Licencia de contenidos (/licencia-contenido)

    Normas de los foros (/forum/normas)

    Normas de los blogs (/blog/normas)

    Identi.ca (http://identi.ca/ubuntues)

    Twitter (http://twitter.com/#!/ubuntu_es)

    Facebook(https://www.facebook.com/pages/Ubuntu-es/221373207876947)

    Google+(https://plus.google.com/101790443404001019295)

    Los contenidos de esta web están

    bajo una licencia

    (http://creativecommons.org/policies#lice

    Creative Commons

    (http://creativecommons.org/licenses/by/

    si no se indica lo contrario

    (http://creativecommons.org/licenses/by/

      (ht tp: // www. ubunt u-es .org/ ) (ht tp: // www. adi tel .org/ ) (ht tp: // www. drupal .org/ )

    http://www.drupal.org/http://www.aditel.org/http://www.ubuntu-es.org/http://creativecommons.org/licenses/by/3.0/es/deed.eshttp://creativecommons.org/licenses/by/3.0/es/deed.eshttp://creativecommons.org/policies#licensehttps://plus.google.com/101790443404001019295https://www.facebook.com/pages/Ubuntu-es/221373207876947http://twitter.com/#!/ubuntu_eshttp://identi.ca/ubuntueshttp://www.ubuntu-es.org/blog/normashttp://www.ubuntu-es.org/forum/normashttp://www.ubuntu-es.org/licencia-contenidohttp://www.ubuntu-es.org/legalhttp://www.ubuntu-es.org/historiahttp://www.ubuntu-es.org/contactohttp://doc.ubuntu-es.org/http://www.ubuntu-es.org/index.php?q=forum/normashttp://www.ubuntu-es.org/index.php?q=contactohttp://doc.ubuntu-es.org/http://www.ubuntu-es.org/node/index.php?q=forum/normashttp://www.ubuntu-es.org/node/index.php?q=contactohttp://www.ubuntu-es.org/user/26762http://www.ubuntu-es.org/comment/322918#comment-322918http://www.ssi.bg/~ja/#routeshttp://www.google.es/http://www.ubuntu-es.org/user/26762http://www.ubuntu-es.org/node/17862?rate=eA_t8WxuhwBKNAAkLpgKW-hA35PspGLxc8bSyPTDTdwhttp://www.ubuntu-es.org/node/17862?rate=0TDAJU19_H7UfoM8eGm5QgVMilhPZMkvOs-lQtzg1BQ