Manual: balanceo carga PCC con FAILover

Iniciado por ChimoC, 27 Marzo 2011, 20:41 PM

0 Miembros y 1 Visitante están viendo este tema.

ChimoC

Buenas:

Os pongo un manual realizado por el compañero Samuelongui de la página hermana de seguridadwireless (http://foro.seguridadwireless.net/mikrotik/manual-balanceo-carga-pcc-con-failover/msg194073/?topicseen#msg194073)

En este pequeño manual vamos a ver como hacer un balanceo de carga de 2 lineas ADSL sobre un equipo Mikrotik. En mi caso usaré el modelo RB450G, que cuenta con 5 puertos Ethernet, por lo que se podría hacer un balanceo de hasta 4 lineas. Para más lineas podéis usar modelos como el RB493 que tiene 9 puertos Ethernet o el RB1100 que si mal no recuerdo son hasta 13 puertos, pero no creo que necesitéis tanto, a no ser que deis servicio a 4 pueblos  ;)

Como no dispongo de 2 lineas ADSL en casa, debo dar las gracias a mi vecina por dejarme su red y poder trastear con estos aparatos. Gracias por dejarme comprobar que funciona  ;-)

Bueno, vamos al lío, que para eso estamos.

- Abrimos Winbox y vamos a nombrar las interfaces para tenerlas localizadas.


En mi caso por la ether1 entrada mi linea1 (llamada WAN1) y por la ether4 mi linea2 (llamada WAN4)

- Vamos a asignar IP's según los rangos de nestras ADSL


Mi ADSL es del rango 192.168.2.X por eso a la WAN1 le doy la IP 192.168.2.121/24, y la otra ADSL del rango 192.168.1.X por eso le doy a la WAN4 la IP 192.168.1.21/24. Si queréis le podéis poner un comentario para saber que hacéis.

Hasta ahora fácil, empieza el show  :D

- IP>FIREWALL>MANGLE




Empezamos marcando los paquetes para separar las conexiones. En esta parte nos encargamos de establecer que cada conexión que entra por un WLAN sale por el mismo (un problema común anteriormente era que una conexión podía entrar por WAN1 y salir por WAN2, ocasionando intermitencia del servicio y problemas de conectividad para el usuario). Marcaremos las conexiones para recordar mas adelante las interfaces (WAN1 y WAN4).




Repetimos esta regla según las ADSL que queramos balancear. En mi caso son 2, por lo que la he copiado y tan solo cambio el nombre de la marca de los paquetes (WAN2_IN - TO_WAN2).
Las lineas de comando superior asegurarán que el tráfico salga por el mismo lugar por donde entró.


En acción seleccionamos accept. Copiamos la regla y en Dst. Address seleccionamos el rango IP de nuestra otra ADSL, en mi caso 192.168.1.0/24

Las políticas de routeo nos permiten forzar el tráfico a que salga por un determinado Gateway (o puerta de enlace, en este caso WAN1 o WAN4), aunque el mismo se encuentre destinado a otra dirección (distinta al Gateway). Esto prevendrá la generación de Loops y problemas de conexión para el usuario. Para evitar que esto suceda tendremos que hacer uso de la routing table.








Copiamos la regla tal cual y en la siguiente cambiamos: per-connection-classifier=both-addresses:2/1. Y lógicamente las parcas de los paquetes (en mi caso WAN2_IN)

Mark-routing puede ser usando solo en mangle bajo las cadenas output and prerouting, pero la cadena prerouting está capturando todo el tráfico incluso el que está dirigido al mismo router. Para evitar este problema, en dst-address-type seleccionaremos Local, inverted.

- Con la ayuda de PCC (per connection clasiffier) dividiremos el tráfico en dos ramas o flujos iguales basados en el origen y destino de las direcciones.




Copiamos la regla segúna las ADSL que tengamos, con esto indicaremos que todo lo que entre por una WAN salga por la misma.

Si estáis haciendo la prueba con 2 ADSL como yo, así es como os debería quedar la pestaña Mangle:



- Nos dirigimos a IP>ROUTES


Copiamos la regla y cambiamos los valores de Gateway y Routing Mark y ponéis los que correspondan con vuestras ADSL (en mi caso 192.168.1.1 - TO_WAN2)

- Añadimos esta nueva regla:


Copiamos la regla segúna las ADSL a balancear y le cambiamos el valor Distance (esto indica la prioridad de la ethernet sobre la cual se hace ping antes de salir a internet. El valor 1 indica prioridad sobre el 2, y sucesivos).

- En resumen os debería quedar algo así (mirar lo seleccionado en azul, las otras routas son de otra cosa):



- Venga, que ya terminamos. Ahora vamos a IP>FIREWALL>NAT para crear una regla de paso de internet sobre las WAN que hayamos configurado:




Copiar la regla para las distintas interfaces que tengáis configuradas como WAN. De este modo le estamos diciendo que todo lo de WAN1 y WAN4 va a tener salida a internet (en mi caso). Todo el tráfico que pase por nuestra red tiene la posibilidad de salir por cualquiera de las dos interfaces WAN.

Un problema que nos encontramos con el FAILover, es que hacemos ping a la Gateway (IP del router ADSL). Si el router está encendido pero la conexión ADSL está caída (culpa del proveedor) o el cable teléfonico desconectado o en mal estado, nuestro Mikrotik reconoce que hay ping (obtiene respuesta), saca los paquetes por esa Gateway pero se pierden (no hay ADSL al otro lado). Para solucionar este fallo o problema, podemos poner nuestro router en Bridge y crear un cliente PPPoE en las interfaces según los datos de nuestro proveedor. De este modo no haríamos ping a la Gateway del router ADSL (está en Bridge, es decir, como "tonto"), sino que hacemos ping a nuestra Gateway externa, es decir, la de nuestro proveedor, y si esa Gateway está caída (fallo de nuestro proveedor y no de nuestro router), el Mikrotik no obtiene respuesta y en vez de sacar los paquetes por esa Gateway los saca por otra.

Una manera de comprobar que el balanceo funciona, es abrir con Internet Explorer la dirección http://www.miip.es/ y sin cerrar, abrir con Firefox otra vez la dirección http://www.miip.es/ Debería entregaros IP's distintas (primero la de un proveedor y luego la de otro).

Otra forma es poner una radio online tipo http://www.m80radio.com/multimedia/radios.html desconectar una de las entradas WAN al Mikrotik. Se os cortará la música pero al cabo de unos 10", si todo va bien, se restablecerá, ya que pasaréis de una conexión a otra.

Espero que no os resulte dificil seguir el manual, es más largo de lo que parece. Y sobre todo espero haberme explicado lo mejor posible y sea fácil de entender.

Un saludo.

madpitbull_99

Muy buen tutorial y aporte!

Por cierto has notado alguna mejora en cuanto al funcionamiento de la conexión ?



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

T0rete

CitarUna manera de comprobar que el balanceo funciona, es abrir con Internet Explorer la dirección http://www.miip.es/ y sin cerrar, abrir con Firefox otra vez la dirección http://www.miip.es/ Debería entregaros IP's distintas (primero la de un proveedor y luego la de otro).
No, si es "fail over" el modo de balanceo solo cambia de ruta si falla el ping de comprobación de la linea que se está usando. Tiene ADSL1 y ADSL2, hace ping a la ip de comprobación del ADSL1 que estamos usando y si no hay respuesta cambia las rutas al ADSL2.

Si la comprobación del fallo de linea se hace mediante ping al gateway entonces no sirve de mucho el sistema. Normalmente en todos los sistemas de balanceo con fail over se puede cambiar la ip a la que se hace el ping de comprobación. Lo normal es apuntar ese ping a las DNS del provedor.

Samuelongui

Primero de todo, gracias por responder, poca gente hay que tenga equipos de estos y resulta dificil ver participación en los foros  ;-)

Cita de: T0rete en 28 Marzo 2011, 16:59 PM
No, si es "fail over" el modo de balanceo solo cambia de ruta si falla el ping de comprobación de la linea que se está usando. Tiene ADSL1 y ADSL2, hace ping a la ip de comprobación del ADSL1 que estamos usando y si no hay respuesta cambia las rutas al ADSL2.

Eso mismo pensaba yo. Esto me lo dijo uno que ha montado equipos Mikrotik y se supone que sabe. Yo la comprobación que si hice y funcionó fue la de poner la radio y quitar una WAN. Lo otro lo probé y no me funcionó, pero como me lo dijo, me lo creí.

Cita de: T0rete en 28 Marzo 2011, 16:59 PM
Si la comprobación del fallo de linea se hace mediante ping al gateway entonces no sirve de mucho el sistema. Normalmente en todos los sistemas de balanceo con fail over se puede cambiar la ip a la que se hace el ping de comprobación. Lo normal es apuntar ese ping a las DNS del provedor.

Lo mejor es tener IP fija y hacer ping a la IP o bien poner el router ADSL en bridge y hacer ping por ejemplo a la gateway del proveedor. Esto creo que lo comento en el manual.

Un saludo.

Samuelongui

Cita de: madpitbull_99 en 28 Marzo 2011, 16:42 PM
Muy buen tutorial y aporte!

Por cierto has notado alguna mejora en cuanto al funcionamiento de la conexión ?


La mejora es si falla un ADSL, tienes la o las otras para no dejar sin servicio a los clientes, es el equivalente a un RAID1 en discos duros.

T0rete

Lo de enviar un ICMP a tu dirección de ip fija para ver si funciona la conexión es un poco inutil ya que tu mismo no puedes responderte a ti mismo utilizando la misma ip externa para el envio y respuesta, piensalo y veras como no es un método de comprobación válido. Lo del gateway del proveedor no lo entiendo, mis proveedores no tiene gateway y si lo tuvieran no se si responderian al ICMP. Lo que si se que funciona es el ping a las DNS del proveedor.


Samuelongui

WAN IP:  89.131.XXX.XXX
Subnet Mask:  255.255.240.0
Gateway:  89.131.XXX.1
Primary DNS:  62.151.2.8
Secondary DNS:  62.151.4.21
Third DNS:  62.151.2.8
Forth DNS:  62.151.4.21

a esa gateway me refería a la hora de hacer ping. Probaré el ping a las DNS.

Un saludo

m4x1

No se ven las imagenes, podrias editarlo porfavor... Gracias ;D