¡Te damos la bienvenida al nuevo sysarmy --help! Para recuperar tu usuario pedí un password reset.

Failover/Load Balancing CentOS

Ando necesitando darle a un colegio la capacidad de salir por una segunda conexion cuando la primera se caiga, y quizás más adelante, balancear la carga. Tengo un CentOS haciendo de Proxy y me encontré con esto:

https://www.unixmen.com/linux-basics-create-network-bonding-on-centos-76-5/

Parece bastante simple de hacer, pero buscando un poco por acá encontré que varios recomiendan laburar con iptables e iproute2 (los cuales, para mi a esta altura, son un poco similares a la magia negra porque no capto una).

Ustedes que tienen más experiencia: voy por el bonding o tengo que si o si usar iptables?

Gracias!

Respuestas

  • Buenas, bonding no te sirve porque seria para usar las 2 placas para la misma ip. Necesitas tener las 2 placas activas y trabajar en la capa de routing marcando paquetes.

    Fijate https://sysarmy.com.ar/help/?qa=17/5-redes-adsl-balanceadas , http://serverfault.com/questions/93678/load-balancing-nat-ing-multiple-isp-connections-on-linux
  • Para hacer bonding creo que es necesario un trabajo del lado del proveedor de internet que te permita sumar las placas, en caso contrario lo que vas a tener en solo balanceo, me explico:



    Bonding: suma de internet, si tengo 2 conexiones de 3mb si hago bonding puedo hacer 1 descarga de 6mb. Digo 1 porque uno podría usar multiples conexiones, pero la idea es que sea asimilado como un único enlace.

    Balanceo: las mismas 2 conexiones no se suman, pero permiten tener descargas por un total de la suma de las dos. Puedo bajar 2 archivos al mismo tiempo, pero nunca alguno de los dos va a descargar a 6mb (no vale usar aceleradores de descargas que parten la descarga en mini descargas). En este caso un torrent por ejemplo tambien llega a 6mb

    Lo que vos queres es yo alguna vez lo hice con Shorewall [1], desde ahí se puede usar un script que se llama LSM [2] que te permite chequear las conexiones todo el tiempo y actuar rapidamente ante una caida de una de las lineas. Por lo menos podes mirar LSM para entender que hace para actuar.

    Si te tengo que decir que si queres empezar de 0 vas a reinventar la rueda, te juro que es un quilombo poder tirar todas las lineas de iproute2 e iptables para que todo funcione como vos queres, normalmente algo te queda afuera y la conectividad se va al carajo.

    Actualmente para resolver esto vengo utilizando OpenWRT[3] que con poca plata (un tp-link gama media) te permite usando el addon mwan3 en pocos pasos y via web todo lo que vos queres hacer. Para mí tiene pros y contras:

    Pros:

    * Bajo consumo de energia

    * Facil de reemplazar en caso de rotura (se rompe el router levantas un backup y pones otro. Se rompe la fuente se reemplaza).

    * Instalacion en 10 minutos

    * Inicia en pocos segundos



    Contras:

    * no soporta squid

    * poco CPU para poder hacer cosas potentes, por ejemplo aplicar QoS (se lo banca pero se manca cuando empezas a forzarlo).



    Bueno, quizás podría escribir más, pero seguro ya te aburrí.



    Saludos!



    [1] http://shorewall.net/MultiISP.html

    [2] http://lsm.foobar.fi/

    [3] https://openwrt.org/
  • Yo te recomiendo que si no tenes idea uses pfsense. Bonding no es lo que necesitas, se usa para que varias ethernet respondan como si fuera una y necesita configuracion del lado del switch. Iptables/iproute2 funcionan pero vas a tener un buen tiempo de aprendizaje y seguramente agujeros de seguridad mas mucho soporte hasta que lo entiendas bien.

    Con pfsense podes conectar a varias conexiones de internet y balancear carga, hacer failover, usar proxy, captive portal, dhcp, radius, etc...etc... y todo desde una interfaz web.

    Saludos
Este hilo ha sido cerrado.