Estimados, tengo una duda sobre como implementar un ruteo por múltiples interfaces de forma balanceada. Paso a explicarles un poco mejor, para lo cual primero les muestro como es el esquema actual (espero se entienda mi "ASCII Art"):

 /-----------\ /-----------\
/ \ ------------------------ ---------------------- / \ | | | | | | |--- Router_Cisco_A --- | | |Redes locales| --- |if3 Router_Cisco_C if1| ---- |if1 Router Linux if2| --- Switch ---| | Red Externa | | | | | | | |--- Router Cisco_B --- | | \ / ------------------------ ---------------------- \ /
 \-----------/ \-----------/

Sin entrar en detalles engorrosos de porque el esquema es así, créanme que así es en este caso. El ruteo que tengo que modificar es exclusivamente en el Router Linux, en el cual actualmente tengo lo siguiente:

Para el tráfico de <Red_Externa> hacia <Red_Locales> (llamémosle "tráfico de bajada"):

ip route add <Red_Local_1> via <IP_if1_Router_Cisco> dev <if1_Router_Linux>
ip route add <Red_Local_2> via <IP_if1_Router_Cisco> dev <if1_Router_Linux>
ip route add <Red_Local_3> via <IP_if1_Router_Cisco> dev <if1_Router_Linux>

Para el tráfico desde <Redes_Locales> hacia <Red_Externa>, usando de forma balanceada las <if3> e <if4> de <Router_Linux> (llamémosle "tráfico de subida"):

ip route replace default src <IP_Router_Linux> nexthop via <IP_Equipo_A> nexthop via <IP_Equipo_B>

Lo anterior funciona a la perfección, es decir, todas las redes locales son perfectamente "alcanzables" y el tráfico de subida hacia la red externa se "reparte" de forma pareja ("mitad y mitad") entre el <Router_Cisco_A> y el <Router_Cisco_B>.

Ahora bien, debo modificar el esquema para que quede de la siguiente manera:

 /-----------\ /-----------\
/ \ ------------------------ ---------------------- / \ | | | if1| ---- |if1 | |--- Router_Cisco_A --- | | |Redes locales| --- |if3 Router_Cisco_C | | Router Linux if2| --- Switch ---| | Red Externa | | | | if2| ---- |if3 | |--- Router Cisco_B --- | | \ / ------------------------ ---------------------- \ /
 \-----------/ \-----------/

Es decir, conectar <Router_Linux> y <Router_Cisco_C> mediante dos interfaces de red en lugar de una sola como está actualmente. La duda que tengo es si se puede lograr el balanceo en el tráfico de bajada de manera similar a como se hace con el tráfico de subida (aunque aquí el caso no es el mismo, para la subida entra en juego una sola interfaz de <Router_Linux> y en este caso entran en juego dos interfaces), de forma tal de dejar balanceado tanto el tráfico de subida como el de bajada.

Lo primero que se me ocurrió es rutear la mitad de las <Redes_Locales> por <if1> de <Router_Linux> y la otra mitad por <if3>, pero esto claro está no me asegura que el tráfico se reparta equitativamente. El hecho de que se reparta por igual entre una interfaz y la otra no es obligatorio, pero si sería realmente muy bueno, y por eso quiero ver si se puede lograr.

Espero que se entiendan mis esquemas y lo que quiero lograr.

Desde ya les agradezco mucho por cualquier ayuda que me puedan dar.

Saludos y muchas gracias!

Mauro.

Responder a