De esta forma liberamos un posible cuello de botella donde una conexión no podría con todo el tráfico de Internet.
En este caso voy a suponer una red sencilla para que se entienda fácilmente:
- Tenemos una red única con todos los PCs, routers y nuestro servidor (192.168.0.0 / 24)
- Nuestro servidor (192.168.0.1 / 24) estará configurado en los PCs de los usuarios como puerta de enlace
- Ambos routers deberán estar correctamente configurados para acceder a Internet, sus direcciones serán 192.168.0.2 / 24 y 192.168.0.3 / 24
- Las direcciones de los PCs empezarán a partir de la 192.68.0.10, reservándonos alguna dirección para posibles ampliaciones.
En primer paso activar el enrutamiento en el servidor mediante el comando:
$ echo 1 > /proc/sys/net/ipv4/ip_forwardEn primer lugar limpiaremos la caché para eliminar posibles rutas existentes:
$ ip route fflush cacheAhora es cuando configuramos el balanceo de carga con los distintos enlaces:
# ip route add default scope global nexthop via 192.168.0.2 dev eth0 weight 1 nexthop via 192.168.0.3 dev eth0 weight 1Hemos definido una ruta con un enlace para cada router, en este caso el servidor está conectado a la red a través de eth0, pero podéis modificarlo para vuestro caso.
En cuanto a los pesos, he configurado ambos con 1, esto significa que ambos tienen la mismas posibilidades de ser elegidos. Si nos interesa darle prioridad a uno, deberemos incrementarle el peso para que aumente la probabilidad de ser elegido.
Enlaces de interés:
Hola sabes llevo un tiempo estudiando esto del balanceo de cargas, pero aun no he logrado nada bueno. Pero tengo algunas consultas respecto a lo que he visto en tu publicación, primero estas seguro que en la linea del balanceo se hace referencia como dev la eth0(ethernet de la red local) o es la interfaces donde esta conectado cada uno de los routers? y la otra las peticiones se van indistintamente por uno u otro router, es decir que si realizó una solicitud de una pagina a través de un router, puede que parte de los contenidos sean cargados a través del otro router?
ResponderEliminarPregunto esto por que he visto algunos ejemplos que utilizan tablas de ruta para cada uno de los enlaces o routers con el fin de mantener las peticiones a través de una sola salida, pero a mi ni siquiera me ha resultado levantar las interfaces por lineas de comando XD, menos asignar tablas de ruta y ni hablar de balanceo de carga.
Espero me puedas ayudar a resolver estas dudas, pues no he tenido a quien consultar. Gracias.
Efectivamente, eth0 y eth1 serían las interfaces de nuestro servidor donde estarían conectados ambos routers.
ResponderEliminarEn cuanto a la otra duda, las peticiones salen indistintamente por uno u otro router, aunque se podría afinar muchíiiisimo más, pero es un tema muy complejo.
El tema de la carga de la web es imposible, porque actualmente con HTTP1.1 el documento HTML y los archivos relacionados se descargan por la misma conexión TCP
A mi forma de ver ,segun la imagen planteada la imagen dicta que no hay nada que rutear o es imposible, ya que todo el diagrama es bajo un mismo segmento de RED. 192.168.O.X/24,
ResponderEliminarLo que creo estas intentado hacer es un BONDING mezclado con un Balance de Carga