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
- 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.