Balanceo de Carga con Ruteo Recursivo

 

 

Balanceo de Carga con Ruteo Recursivo

 

Balanceo de carga: Proceso a través del cual el tráfico saliente es distribuido por múltiples enlaces. Cuando se emplea algún mecanismo de balanceo, lo que realmente se balancea son el número total de conexiones entre la cantidad de enlaces disponibles. No se balancea el consumo de tráfico ni se “suma” literalmente.

Esta técnica es comúnmente utilizada por ISP, WISP y empresas, instituciones educativas, etc. cuando los proveedores tienen limitada en velocidad el servicio de Internet para ciertas zonas.

También se utiliza para evitar cortes del servicio por caída de alguna de las líneas de Internet.

Failover (Conmutación por error) cuando un enlace deja de funcionar por cualquier motivo y automáticamente cambia al enlace de backup o redundancia para seguir funcionando. 

El ejemplo que vamos a simular es dos líneas de Internet, con las siguientes puertas de enlace:

  • WAN1: 192.168.1.254/24
  • WAN2: 192.168.2.254/24
  • LAN: 172.16.0.1/24

como lo muestra el siguiente diagrama.

 

 

Paso 1

Asignarle el nombre a cada una de nuestras interfaces de la siguiente forma: ether1=WAN1, ether2=WAN2, ether3=LAN. 

Para eso elegimos la opción de: Intefaces y doble clic sobre la interfaz en este caso es ether1 (ether2, ether3).

En la pestaña General, asignamos el nombre en el parámetro Name: WAN1 y clic en botón Apply y OK.

Repetir el Paso 1 para cambiar el nombre de las interfaces de ether2 y ether3. Y al concluir de cambiarle el nombre a cada una de las interfaces debe de quedar de la siguiente forma.

 

Paso 2

Solicitar la IP de cada uno de los módems. Para eso elegimos la opción de: IP à DHCP Client à DHCP Client à +.

En la pestaña DHCP y asignamos los siguientes parámetros: Interface: WAN1, Add Default Route: no y clic en botón Apply y OK.

Repetir el Paso 2 solo que ahora en el parámetro Interface se elige WAN2. Al concluir con la solicitud de IP con cada una de las interfaces WAN1 y WAN2 debe de quedar de la siguiente forma ya con una IP asignada por los módems.

 

Paso 3:

Ahora vamos a asignar la IP de la red LAN. Para eso elegimos la opción de: IP à Address à +.

 Asignamos la IP en el parámetro Address: 172.16.0.1/24 y elegimos la interfaz en el parámetro Interface: LAN y clic en botón Apply y OK.

 y obtenemos un resultado como el siguiente.

 

 

Paso 4:

Levantar un servidor DHCP para la red LAN, que asigne un rango de IP a los clientes (172.16.0.2 - 172.16.0.254). Para eso elegimos la opción de: IP à DHCP Server à DHCP à DHCP Setup.

Elegimos la interfaz LAN el parámetro: DHCP Server Interface: LAN y clic en botón Next.

 Corroboramos que sea la dirección de red correcta en el parámetro: DHCP Address Space: 172.16.0.0/24 y clic en botón Next.

Revisamos que la puerta de enlace este correcta en el parámetro: Gateway for DHCP Network: 172.16.0.1 y clic en botón Next.

 

Asignar las direcciones de los servidores DNS de Google de la siguiente forma en el Parámetro: DNS Servers: 172.16.0.1,8.8.8.8,8.8.4.4 y clic en botón Next.

Elegir el tiempo de caducidad de la IP asignada a los clientes para este ejemplo es de un día, se asigna en el parámetro:  Lease Time: 1d 00:00:00 y clic en botón Next.

  

nos regresa un resultado como el siguiente ya solo clic en el botón OK.

 

Paso 5:

Agregar el enmascarado para cada una de las interfaces WAN1 y WAN2. Para eso elegimos la opción de: IP à Firewall à NAT à +.

En la pestaña General, elegimos el parámetro Chain: srcnat y elegimos el parámetro Out. Interface:  WAN1 y clic en el botón Apply.

Después en la pestaña Action, elegimos en el parámetro Action: masquerade y clic en botón Apply y OK.

Repetir el Paso 5 solo que ahora en el parámetro Out. Interface se elige WAN2. Obtenemos un resultado como la siguiente imagen, con el enmascarado de WAN1 y WAN2.

 

Mangleà Esta tabla es la responsable de ajustar las opciones de los paquetes, como por ejemplo la calidad de servicio. Todos los paquetes pasan por esta tabla. Debido a que está diseñada para efectos avanzados, contiene todas las cadenas predefinidas posibles:

ü PREROUTING chain (Cadena de PRERUTEO)à Todos los paquetes que logran entrar a este sistema, antes de que el ruteo decida si el paquete debe ser reenviado (cadena de REENVÍO) o si tiene destino local (cadena de ENTRADA).

  • INPUT chain (Cadena de ENTRADA)à Todos los paquetes destinados para este sistema pasan a través de esta cadena.
  • FORWARD chain (Cadena de REDIRECCIÓN)à Todos los paquetes que exactamente pasan por este sistema pasan a través de esta cadena.
  • OUTPUT chain (Cadena de SALIDA)à Todos los paquetes creados en este sistema pasan a través de esta cadena.
  • POSTROUTING chain (Cadena de POSRUTEO)à Todos los paquetes que abandonan este sistema pasan a través de esta cadena.

Seleccionamos la opción de: IP à Firewall à Mangle à +.

 

Paso 6:

Crear la regla que nos permite acceder al modem de internet, sin necesidad de salir a internet. Con su dirección de red correspondiente. (192.168.1.0/24 y 192.168.2.0/24)

Sobre la pestaña General y asignamos los siguientes parámetros:  Chain: prerouting, Dst. Address: 192.168.1.0/24 (depende de la línea), In. Interface: LAN y clic en el botón Apply.

 

Después elegimos la pestaña Action y elegimos en el parámetro Action: accept y clic en botón Apply y OK.

Repetir el Paso 6 solo que ahora en el parámetro Dst. Address la dirección de red es 192.168.1.0/24.

 

Paso 7:

Crear una marca de las conexiones que entra por la WAN1 o WAN2, para eso clic sobre pestaña General, seleccionamos en el parámetro Chain: prerouting, In. Interface: WAN1, Connection Mark: no-mark y clic en el botón Apply.

 

Después la pestaña Action, elegimos el parámetro Action: mark connection y escribimos en el parámetro New Connection Mark: WAN1_conn y clic en botón Apply y OK.

Repetir el Paso 7 solo que ahora en el parámetro In. Interface es WAN2 y el parámetro New Connection Mark por WAN2_conn.

 

Paso 8:

Crear las marcas de los clientes que entran por la interfaz LAN y lo vamos a equilibrar 50% por la WAN1 (2/0) y 50% (2/1) por la WAN2.

 

En la pestaña General y seleccionamos en el parámetro Chain: prerouting, In. Interface: LAN, Connection Mark: no-mark y clic en el botón Apply.

 

En la pestaña Advanced, elegimos el parametro:  Per Connection Classifier: both addresses: 2/0 (este valor depende de las líneas que se tiene y como se dividió los paquetes de una forma equilibrada). Y clic en el botón Apply.

 

En la pestaña Extra, elegimos en el parámetro Address Type: local, marcamos el check Invert y clic en el botón Apply.

 

Después en la pestaña Action, elegimos en el parametro Action: mark connection, New Connection Mark: WAN1_conn y clic en el botón Apply y OK.

Repetir el Paso 8 solo que ahora en el parámetro Per Connection Classifier: both addresses es 2/1 y el parámetro New Connection Mark por WAN2_conn.

 

Paso 9:

Marcar las rutas de cada una de las conexiones WAN1_conn y WAN2_conn. En la pestaña General seleccionamos en el parámetro Chain: prerouting, In. Interface: LAN, Connection Mark: WAN1_conn y clic en el botón Apply. 

 

Después en la pestaña Action, y seleccionamos en el parámetro Action: mark routing y escribimos en el parámetro New Routing Mark: to_WAN1 y clic en botón Apply y OK.

 

Repetir el Paso 9 solo que ahora en el parámetro Connection Mark es WAN2_conn y el parámetro New Routing Mark por to_WAN2.

 

Paso 10:

 

Marcar las rutas de salida de cada una de las conexiones WAN1_conn y WAN2_conn. Hacemos clic en la pestaña General y seleccionamos en los parámetros Chain: output, Connection Mark: WAN1_conn y clic en el botón Apply.

En la pestaña Action, seleccionamos en el parámetro Action: mark routing, New Routing Mark: to_WAN1 y clic en botón Apply y OK.

 

Repetir el Paso 10 solo que ahora en el parámetro Connection Mark es WAN2_conn y el parámetro New Routing Mark por to_WAN2.

Al final tenemos un resultado como este en la pestaña Mangle.

 

 

Paso 11:

Asignar las rutas con las marcas de ruteo (to_WAN1, to_WAN2) y hacer un ruteo recursivo por si falla una línea solo salga por la línea que funciona. Para eso elegimos la opción de: IP à Routes à Routes à +.

  

En la pestaña General los parámetros quedan de la siguiente forma:

  •  Dst. Address: 8.8.8.8
  • Gateway: 192.168.1.254
  • Check Gateway: ping
  • Distance: 1
  • Scope: 10
  • Target Scope: 10
Clic en el botón Apply y OK

 

  • Dst. Address: 8.8.4.4
  • Gateway: 192.168.2.254
  • Check Gateway: ping
  • Distance: 1
  • Scope: 10
  • Target Scope: 10

Clic en el botón Apply y OK

  

  • Dst. Address: 0.0.0.0/0
  • Gateway: 8.8.8.8
  • Check Gateway: ping
  • Distance: 1
  • Scope: 10
  • Target Scope: 10
  • Routing Mark: to_WAN1

Clic en el botón Apply y OK

  • Dst. Address: 0.0.0.0/0
  • Gateway: 8.8.4.4
  • Check Gateway: ping
  •  Distance: 1
  • Scope: 10
  • Target Scope: 10
  • Routing Mark: to_WAN2

Clic en el botón Apply y OK


  • Dst. Address: 0.0.0.0/0
  • Gateway: 8.8.8.8
  • Check Gateway: ping
  • Distance: 1
  • Scope: 30
  • Target Scope: 30

Clic en el botón Apply y OK.

 

  • Dst. Address: 0.0.0.0/0
  • Gateway: 8.8.8.8
  • Check Gateway: ping
  • Distance: 2
  • Scope: 30
  • Target Scope: 30

Clic en el botón Apply y OK

 

 Al final tenemos un resultado como el siguiente:

Para saber si el balanceo de las líneas funciona de forma correcta, abrimos varios sitios de internet para generar tráfico y para visualizar vamos a la opción de menú: IP à Firewall à Connections y visualizamos las que efectivamente hay algunas conexiones WAN1_conn y WAN2_conn.


También podemos visualizar en tráfico en la opción de menú Interfaces, en las interfaces WAN1 y WAN2 así como también en la red local LAN.

Escribir un comentario


Código de seguridad
Refescar