You are on page 1of 33

Balanceo de Carga con MikroTik

(Balancendo conexiones de similares y diferentes capacidades)

Ing. Miguel Ojeda Flores


Home Capacity S.A.
Acerca de M
Jos Miguel Ojeda Flores
Fundador y CEO de Home-Capacity SA
Ingeniero en Sistemas con mencin en Telemtica
Magister en Administracin de Empresas con Especialidad
en Gestin de Proyectos.
Experiencia con MikroTik desde 2009.
Instructor Certificado MikroTik TR-151 (2011)
Instructor Certificado Ubiquiti.
Certificaciones: MTCNA, MTCTCE, MTCUME, MTCWE, MTCIPv6E,
MTCRE, MTCINE, UBWS, UBWA, UBRSS, UBRSA, UEWA.
Temas
Qu es Balanceo de Carga?
Mecanismos de Balanceo de Carga
Cmo funciona PCC?

Configuration necesario para PCC


PCC con enlaces similares
PCC con enlaces de diferente capacidad
Qu es el Balanceo de Carga?
Proceso a travs del cual el trfico saliente se distribuye por mltiples enlaces.

IMPORTANTE!!!!
Cuando se utiliza un mecanismo de
balanceo de carga, el nmero total de
conexiones se balancea entre la
cantidad de enlaces disponibles. El
consumo de trfico no est
balanceado!
Mecanismos de Balaceo de Carga
(ECMP PCC)
ECMP
(Equal Cost Multi Path)

Fcil de implementar.
Balanceo persistente por conexin.
Las rutas ECMP tienen ms de un gateway a la misma red remota.
No es posible controlar la forma de balanceo. (Los gateways sern usados
en un esquema de combinacin de direcciones Round-Robin por
combinacin SRC/DST)

El mismo gateway puede ser


escrito muchas veces.
(Ponderacin de Enlaces)
PCC
(Per Connection Classifier)

Mecanismo ms sofisticado.
PCC no distribuye por igual la cantidad de conexin por enlace.
Toma algunos campos de encabezado IP y los combina para calcular qu enlace se
usar.
Combinacin de IP (origen/destino) y Puerto (origen/destino)
La cabecera IP es divida para el nmero de WANs activas.
Balanceo basado en clasificadores: src-address, dst-address, src-port, dst-port.
Cmo funciona PCC?
PCC toma los campos seleccionados de la cabecera IP y con la ayuda del
algoritmo de hash, convierte los campos seleccionados en un valor de 32
bits. Luego, este valor se divide por un denominador especificado y el
resultado se compara con un valor de resultados esperado, si es igual, se
capturar el paquete.

0
1
2 Enlaces
WAN 0
1

0
Configuracin necesaria
IP Firewall MANGLE
Definir las polticas de enrutamiento para crear una tabla de enrutamiento
diferente para el trfico marcado.
Chain Prerouting Trfico entrante
Chain Output Trfico Saliente
Capturar trfico de conexiones remotas.
Crear comunicaciones entre clientes conectados local y remotamente.
Es importante utilizar un "Mangle ptimo" cuando creamos las reglas de
mangle, de esta manera optimizaremos la CPU de nuestro router.
Configuracin necesaria
Optimal Mangle
Para un marcado ptimo primero debemos configurar una marca de
conexin y luego crear una marca de paquete basada en dicha marca
Configuracin necesaria

IP Route
Cree una ruta predeterminada para la tabla de enrutamiento principal utilizando
cada WAN.
Crear rutas predeterminadas para cada tabla de enrutamiento (trfico
marcado).

Firewall NAT
Crear una regla NAT para enmascarar la LAN a travs de cada enlace WAN
Escenario
PPC enlaces similares
Configuracin Bsica
Configuracin de IPs

Configuracin de Rutas

Configuracin de NAT
Configuracin de Mangle
Como primer paso, cree marcas de conexin para identificar los paquetes entrantes de las interfaces ether1 y ether2.
Nombra estas nuevas marcas de conexin como wan1_con y wan2_con, respectivamente.

A continuacin, aplique la marca de enrutamiento para las conexiones previamente definidas en las marcas de conexin.
Nombre esta ruta marca como to_wan1 y to_wan2 respectivamente

Definir cadenas de enrutamiento previas para cada una de las redes ISP.
Configuracin de PCC

Configure las marcas de conexin para identificar el


clasificador por conexin.Seleccione Ambas
direcciones como PCC para que la clasificacin se
realice por direcciones src y dst. El valor de 2 indica
que hay 2 ISP y el valor de 0 indica el ndice del ISP.

Cree la marca de enrutamiento para el trfico


saliente en funcin de las marcas de conexin
configuradas previamente. Nombre estas marcas
de ruta como TO_WAN1 y TO_WAN2
Configuracin de Rutas

Cree una ruta predeterminada para cada ISP y configure la marca de enrutamiento TO_WAN1
para el ISP A y TO_WAN2 para el ISP B.
Resultados del
Balanceo PCC
Escenario
PPC enlaces de diferente
capacidad
Configuracin de
PCC con enlaces diferentes
Qu ocurre si los enlaces tienen un ancho de banda
diferente?

PROVEEDOR A 9Mbps
PROVEEDOR B 3Mbps
Se deben asignar ms conexiones al ISP A. Pero cunto?

ISP A 9Mbps El ISP A debera recibir el 9/12 = 0,75 * 100 = 75%


ISP B 3Mbps El ISP B debera recibir el 3/12 = 0,25 * 100 = 25%
TOTAL 12Mbps

Esto significa que el ISP podra recibir hasta el 75% de todas las conexiones y
el ISP B el 25%.
Configuracin de
PCC con enlaces diferentes
Crear 4 grupos de conexiones:
/ip firewall mangle
per-connection-classifier=both-addresses:4/0 25%
per-connection-classifier=both-addresses:4/1 25%
per-connection-classifier=both-addresses:4/2 25%
per-connection-classifier=both-addresses:4/3 25%

Las conexiones deben marcarse de la siguiente manera:


75% de todas las conexiones por ISP A
25% de todas las conexiones por ISP B

Entonces tendremos la siguiente distribucin:


ISP A = 4 Conexiones * 75% = 3
ISP B = 4 Conexiones * 25% = 1
Configuracin de
PCC con enlaces diferentes

-Tenemos 4 conexiones para equilibrar entre el ISP A y el ISP B.


-Crea 3 reglas para las conexiones wan1_conn con PER-
CONNECTION-CLASSIFIER de 4/0, 4/1, 4/2 respectivamente
-Crear 1 regla para las conexiones wan2_conn con PER-
CONNECTION-CLASSIFIER 4/3
Resultados del
Balanceo PCC
STEP 1 BASIC Replace X
for your
Group Number
GX-R1 Configuration:
/ip address
add address=10.10.X1.2/30 interface=wlan1 network=10.10.X1.0
add address=10.10.X1.5/30 interface=ether1 network=10.10.X1.4
GX-R2 Configuration:
/ip address
add address=10.10.X2.2/30 interface=wlan1 network=10.10.X2.0
add address=10.10.X2.5/30 interface=ether1 network=10.10.X2.4
PCC-GX Configuration:
/ip address
add address=10.10.X1.6/30 interface=ether1 network=10.10.X1.4
add address=10.10.X2.6/30 interface=ether2 network=10.10.X2.4
add address=192.168.X.254/24 interface=ether3 network=192.168.X.0
STEP 2 NAT Replace X
for your
GX-R1 Configuration: Group Number
/ip firewall nat
add action=masquerade chain=srcnat out-interface=wlan1
GX-R2 Configuration:
/ip firewall nat
add action=masquerade chain=srcnat out-interface=wlan1
PCC-GX Configuration:
/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=ether2
STEP 3 ROUTES Replace X
for your
GX-R1 Configuration: PCC-GX Configuration: Group Number
/ip route /ip route
add distance=1 gateway=10.10.X1.1 add distance=1 gateway=10.10.X1.5
GX-R2 Configuration: add distance=2 gateway=10.10.X2.5
/ip route
add distance=1 gateway=10.10.X2.1
STEP 4 MANGLE (1)
PCC-GX Configuration:

/ip firewall mangle


add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=ether1 new-connection-mark=wan1_conn
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=ether2 new-connection-mark=wan2_conn
STEP 4 MANGLE (2)
PCC-GX Configuration:

/ip firewall mangle


add action=mark-routing chain=output connection-mark=wan1_conn new-routing-mark=to_wan1
add action=mark-routing chain=output connection-mark=wan2_conn new-routing-mark=to_wan2
STEP 4 MANGLE (3)
PCC-GX Configuration:

/ip firewall mangle


add chain=prerouting dst-address=10.10.X1.4/30
add chain=prerouting dst-address=10.10.X2.4/30
STEP 4 MANGLE (4)
PCC-GX Configuration:
/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=ether3
new-connection-mark=wan1_conn per-connection-classifier=both-addresses:2/0
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=ether3
new-connection-mark=wan2_conn per-connection-classifier=both-addresses:2/1
STEP 4 MANGLE (5)
PCC-GX Configuration:
/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=ether3
new-connection-mark=wan1_conn per-connection-classifier=both-addresses:2/0
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=ether3
new-connection-mark=wan2_conn per-connection-classifier=both-addresses:2/1
STEP 4 MANGLE (6)
PCC-GX Configuration:

/ip firewall mangle


add action=mark-routing chain=prerouting connection-mark=wan1_conn in-interface=ether3 new-routing-mark=to_wan1
add action=mark-routing chain=prerouting connection-mark=wan2_conn in-interface=ether3 new-routing-mark=to_wan2
STEP 5 ROUTES
PCC-GX Configuration:

/ip route
add distance=1 gateway=10.10.X1.5 routing-mark=to_wan1
add distance=1 gateway=10.10.X2.5 routing-mark=to_wan2
Problemas en implementaciones
de Balanceos de Carga

Discusin

You might also like