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 mención en Telemática
Magister en Administración de Empresas con Especialidad
en Gestión 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
¿ Cómo funciona PCC?

Configuration necesario para PCC


PCC con enlaces similares
PCC con enlaces de diferente capacidad
¿Qué es el Balanceo de Carga?
Proceso a través del cual el tráfico saliente se distribuye por múltiples enlaces.

IMPORTANTE!!!!
Cuando se utiliza un mecanismo de
balanceo de carga, el número total de
conexiones se balancea entre la
cantidad de enlaces disponibles. ¡El
consumo de tráfico no está
balanceado!
Mecanismos de Balaceo de Carga
(ECMP – PCC)
ECMP
(Equal Cost Multi Path)

ü Fácil de implementar.
ü Balanceo persistente por conexión.
ü Las rutas ECMP tienen más de un gateway a la misma red remota.
ü No es posible controlar la forma de balanceo. (Los gateways serán usados
en un esquema de combinación de direcciones Round-Robin por
combinación SRC/DST)

ü El mismo gateway puede ser


escrito muchas veces.
(Ponderación de Enlaces)
PCC
(Per Connection Classifier)

ü Mecanismo más sofisticado.


ü PCC no distribuye por igual la cantidad de conexión por enlace.
ü Toma algunos campos de encabezado IP y los combina para calcular qué enlace se
usará.
§ Combinación de IP (origen/destino) y Puerto (origen/destino)
§ La cabecera IP es divida para el número de WAN’s activas.
ü Balanceo basado en clasificadores: src-address, dst-address, src-port, dst-port.
¿Cómo 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
Configuración necesaria
IP Firewall MANGLE
ü Definir las políticas de enrutamiento para crear una tabla de enrutamiento
diferente para el tráfico marcado.
§ Chain Prerouting – Tráfico entrante
§ Chain Output –Tráfico Saliente
ü Capturar tráfico 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.
Configuración necesaria
Optimal Mangle
Para un marcado óptimo primero debemos configurar una marca de
conexión y luego crear una marca de paquete basada en dicha marca
Configuración necesaria

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

Firewall NAT
Crear una regla NAT para enmascarar la LAN a través de cada enlace WAN
Escenario
PPC enlaces similares
Configuración Básica
Configuración de IPs

Configuración de Rutas

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

A continuación, aplique la marca de enrutamiento para las conexiones previamente definidas en las marcas de conexión.
Nombre esta ruta marca como to_wan1 y to_wan2 respectivamente

Definir cadenas de enrutamiento previas para cada una de las redes ISP.
Configuración de PCC

Configure las marcas de conexión para identificar el


clasificador por conexión.Seleccione Ambas
direcciones como PCC para que la clasificación 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 tráfico


saliente en función de las marcas de conexión
configuradas previamente. Nombre estas marcas
de ruta como TO_WAN1 y TO_WAN2
Configuración 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
Configuración 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 más conexiones al ISP A. ¿Pero cuánto?

ISP A – 9Mbps El ISP A debería recibir el 9/12 = 0,75 * 100 = 75%


ISP B – 3Mbps El ISP B debería recibir el 3/12 = 0,25 * 100 = 25%
TOTAL – 12Mbps

Esto significa que el ISP podría recibir hasta el 75% de todas las conexiones y
el ISP B el 25%.
Configuración 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 distribución:


ISP A = 4 Conexiones * 75% = 3
ISP B = 4 Conexiones * 25% = 1
Configuración 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

Discusión

You might also like