A continuación, se detalla la configuración del laboratorio.
Omitimos la configuración de los TP-LINK asumiendo que es la parte más sencilla de realizar.
Configuración del Switch Planet
Empezaremos configurando el switch Planet. La configuración se hará por medio de comandos. Se resume a lo siguiente, crearemos dos VLAN y les asignaremos una IP para que tengan comunicación con los routers de los proveedores.
Los routers de los proveedores no tienen conocimiento de las VLAN que usaremos en el switch así que el tráfico que sea entre ellos y el switch debe ir
untagged (no tagueado). Sin embargo, los puertos del switch deben configurarse de tal modo que el router del proveedor tenga acceso a la interfaz VLAN.
1.- Crearemos las VLAN y les asignaremos las direcciones que tenemos en el diagrama.
2.- Declaramos los puertos GE1 Y GE2 como puertos de acceso y a que VLAN tienen acceso.
3.- Declaramos la interfaz que irá conectada al Router Mikrotik (TG1 según el diagrama) como troncal (trunk) y permitimos acceso de nuestras VLAN.
4.- Opcionalmente, como buena práctica le asignamos un nombre a nuestras VLAN
Probamos realizando un ping hacia las IPs de nuestros proveedores. Si todo esta configurado correctamente debemos alcanzar a los dos.
Configuración del Router Mikrotik
El router Mikrotik es quien realizará la toma de decisiones para el FailOver. A grandes rasgos lo que tenemos que configurar es el direccionamiento de las interfaces, el NAT para cada proveedor, las rutas por defecto y finalmente el Failover.
1.- Empezaremos creando las interfaces VLAN sobre la interfaz SFP+ 1. Una vez que han sido creadas les asignaremos una dirección IP.
2.- Probamos que tenemos conectividad hacia los proveedores
3.- Enmascaramos nuestro tráfico en las interfaces por donde alcanzamos a nuestros proveedores que son las VLAN. En cada NAT Rule la acción será Masquerade como se muestra en la siguiente imagen.
4.- Seguidamente crearemos 2 rutas por defecto, cada una hacia un proveedor. Nuestro proveedor principal debe tener distancia 1 y el otro proveedor debe tener una prioridad más alta. De esta manera el tráfico siempre saldrá por el proveedor principal y solo cuando este falle el tráfico saldrá por el otro.
IMPORTANTE: Cada ruta por defecto debe tener un comentario ya que usaremos los comentarios para seleccionar una ruta y desactivarla (o activarla según sea el caso).
Failover
Hasta este punto tenemos configurado el acceso a internet por medio de nuestros proveedores.
Vamos a configurar un pequeño scritp para que se deshabilite la ruta por defecto hacia nuestro proveedor principal en caso de que el router detecte que no hay salida a internet por medio de ese proveedor.
1.- Forzaremos el router a que tenga una ruta para 2 IPs públicas. Como buena práctica debemos dejar un comentario que nos recuerde el porqué existen esas dos rutas, ya que son importantes y es necesario que siempre estén activadas para que nuestro failover funcione.
2.- Mikrotik tiene una poderosa herramienta llamada Netwatch. La ventaja y la principal razón por la cual se usa no es otra que programar tareas cuando nos responda el ping hacia un destino y programar otras tareas cuando el ping no responda.
En Tools>Netwatch crearemos una nueva regla. En dicha regla en el apartado host debemos colocar la IP que vamos a estar monitoreando. En este laboratorio las IPs que hemos elegido son las de servidores DNS públicos, ustedes pueden cambiarlos por otros si así lo prefieren.
Como vemos, lo que realiza Netwatch es un ping constante hacia una IP. Si la IP responde al ping entonces Netwatch ejecuta la instrucción que tenga en el apartado ON y si no, ejecuta la instrucción en el apartado DOWN.
Lo que nosotros configuramos es, que si perdemos el acceso a internet por medio de un proveedor, entonces la regla por defecto que le configuramos será deshabilitada. De esta manera, si nuestro proveedor principal nos deja sin internet, la regla por defecto se apagará y el tráfico será desviado al segundo proveedor.
Si tenemos acceso a Internet con ambos proveedores, el tráfico saldrá solo con el proveedor principal, ya que así lo configuramos según la distancia que tienen las rutas.