ENRUTAR IP’S ATRAVES DE UNA WAN ESPECIFICA (AVOID LOAD BALANCE)

Fuente: http://www.ryohnosuke.com/foros/index.php?threads/15558/

Autor: ALEJANDROGORDON

Publicado8 Ago 2014

 

Comúnmente al momento de tener varios proveedores de Internet se realiza un balanceo de carga para poder realizar un consumo eficiente del ancho de banda disponible en cada proveedor, sin embargo muchas páginas en ocasiones no permiten que una misma conexión se realice a través de diferentes direcciones IP, causando que algunos clientes no puedan entrar a sistemas propios o páginas de gobierno, etc. o simplemente quieren que algunos clientes privilegiados salgan directamente por la WAN más estable.

Pongamos una topología general:

[​IMG]

Esta estructura es la que generalmente se maneja, aunque muchas veces existe un segundo Mikrotik para la administración.

Podemos observar que existen 5 proveedores de servicio, con los cuales se realiza balanceo de carga.

Considerando que necesitamos sacar a un cliente, estableceremos el siguiente código:

CODE, HTML o PHP Insertado:
/ ip route
add dst-address=0.0.0.0/0 gateway=y.y.y.y scope=255 target-scope=10 routing-mark="clients privilegiados" comment="clients privilegiados" disabled=no


/ ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark="clients privilegiados" src-address=x.x.x.x passthrough=no comment="" disabled=no

En la primera parte se crea una ruta donde y.y.y.y será el Gateway por defecto de la wan que necesitamos enviar el tráfico del cliente, además usaremos la opción routing mark la cual será necesaria para poder especificar en mangle a donde enviaremos el tráfico antes de ser enrutado.

En la segunda parte forzamos a que todos los paquetes sean enviados por la ruta que se prefiere, x.x.x.x será la ip que necesitamos que salga por la wan necesaria.

Aclaro que se puede usar listas de ip’s, rangos de direcciones ip’s.

También es bueno aclarar que muchas veces las rutas ya se encuentran creadas para el uso en el balanceo, y es posible reutilizar las mismas rutas para evitar crear más rutas innecesarias.

Nota: la regla creada en el mangle debe ser puesta antes de las reglas del balanceador. Tengan presente que en esta guía, se la realiza considerando que ya existe un balanceo de carga, y que no existe un segundo mikrotik.

[​IMG]

Bueno tenemos el siguiente escenario y podemos apreciar que ahora tenemos un segundo equipo para administración el cual se encuentra realizando labores de control de velocidad, qos, firewall, accesos, etc.

Generalmente se crea un Nat (network address translation), para permitir la navegación de los clientes sin mayores cambios y sin necesitar tener conocimiento en ruteo. Sin embargo tener una red con varios Nat, no solo causa mayor retardo por procesamiento, también causa que muchas aplicaciones no trabajen de forma adecuada.

Ahora podemos apreciar que existe, clientes que necesitas salir por una wan determinada y al existir varios nat, la tarea se complica, entonces debemos encontrar una solución que nos permita ver el tráfico de forma transparente para poder manipularlo sin mayores complicaciones.

Consideramos una estructura como la siguiente:

[​IMG]

Esta topología es muy común sin embargo es la más ineficiente, por los temas que ya explique anteriormente. La solución más óptima será eliminar el segundo nat en el Mikrotik Administrador, de tal forma que se agiliten los procesos.

Bueno pero algunos en este punto se deben preguntar ¿si elimino el nat no habrá internet?, la respuesta es no habrá internet, los clientes no navegaran pues no existe ninguna forma de llegar a los clientes de manera directa, para solucionar ese inconveniente vamos a usar rutas estáticas que nos permitan encaminar el tráfico del R1-LB al R2-ADMIN de la siguiente manera:

CODE, HTML o PHP Insertado:
ip route add dst-address=192.168.4.0/24 gateway=192.168.1.2

Con esa pequeña regla de ruteo logramos encaminar el tráfico sin problemas.

Y a continuación nos queda realizar lo siguiente:

CODE, HTML o PHP Insertado:
/ ip route
add dst-address=0.0.0.0/0 gateway=y.y.y.y scope=255 target-scope=10 routing-mark="clients privilegiados" comment="clients privilegiados" disabled=no


/ ip firewall mangle
add chain=prerouting action=mark-routing new-routing-mark="clients privilegiados" src-address=x.x.x.x passthrough=no comment="" disabled=no

En la primera parte se crea una ruta donde y.y.y.y será el Gateway por defecto de la wan que necesitamos enviar el tráfico del cliente, además usaremos la opción routing mark la cual será necesaria para poder especificar en mangle a donde enviaremos el tráfico que antes de ser enrutado.

En la segunda parte forzamos a que todos los paquetes sean enviados por la ruta que se prefiere, x.x.x.x será la ip que necesitamos que salga por la wan necesaria.

Aclaro que se puede usar listas de ip’s, rangos de direcciones ip’s.

También es bueno aclarar que muchas veces las rutas ya se encuentran creadas para el uso en el balanceo, y es posible reutilizar las mismas rutas para evitar crear más rutas innecesarias.

Nota: la regla creada en el mangle debe ser puesta antes de las reglas del balanceador. Tengan presente que en esta guía, se la realiza considerando que ya existe un balanceo creado y que el segundo mikrotik se encuentra correctamente funcionando.

ALEJANDROGORDON, 8 Ago 2014

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *