Balanceo por PCC

En este pequeño tutorial, aprenderemos como realizar un balanceo de lineas (ya sean de internet o no) por PCC.

Lo primero que debemos de entender es que esto es un BALANCEO no una sumatoria de velocidad por lo cual las conexiones se balancearan de manera equitativa entre cada una de las interfaces seleccionadas para realizar esta labor.
Este tipo de balanceo es posible realizarlo en TODOS LOS ROUTERS MIKROTIK, utilizando ya sea 2, 3, 4 o mas interfaces segun la disponibilidad del equipo.

Bien, comencemos entonces a configurar nuestros dispositivos….

Paso 1 – Direccionamiento IP

Lo primero que debemos de realizar en nuestro equipo es ingresar una direccion IP en cada interfaz que se encuentre en el mismo segmento que nuestro gateway para poder tener comunicacion con el, ademas de definir una interfaz para la comunicacion con nuestra red local.
En este ejemplo, estamos definiendo la interfaz llamada “ether5” como la interfaz LAN con una mascara /24, mientras que las interfaces “ether1” “ether2” y “ether3” como interfaces WAN, cada una con una mascara /30 (esta pudiera ser diferente)

/ip address
add address=10.0.0.1/24 interface=ether5 network=10.0.0.0
add address=192.168.10.2/30 interface=ether1 network=192.168.10.0
add address=192.168.20.2/30 interface=ether2 network=192.168.20.0
add address=192.168.30.2/30 interface=ether3 network=192.168.30.0



Una vez definido el direccionamiento adecuado para nuestra comunicacion con nuestro gateway asi como con nuestra red local, procederemos a realizar el marcado de paquetes en nuestros mangle.

Paso 2 – Marcado de paquetes (Mangle)

El marcado de conexiones nos ayudara a realizar el etiquetado de los mismos para definir posteriormente por que interfaz queremos que viajen estas conexiones.

—- Primero definimos que todos los paquetes que ingresen por una interfaz, deberan de salir por la misma.

/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new in-interface=ether1 new-connection-mark=eth6_conn
add action=mark-routing chain=output connection-mark=eth1_conn new-routing-mark=to_ether1 passthrough=no
add action=mark-connection chain=prerouting connection-state=new in-interface=ether2 new-connection-mark=eth2_conn
add action=mark-routing chain=output connection-mark=eth2_conn new-routing-mark=to_ether2 passthrough=no
add action=mark-connection chain=prerouting connection-state=new in-interface=ether3 new-connection-mark=eth3_conn
add action=mark-routing chain=output connection-mark=eth3_conn new-routing-mark=to_ether3 passthrough=no

—- Luego marcamos los pquetes que ingresan por nuestra interfaz LAN en orden secuencial.

add action=mark-connection chain=prerouting connection-state=new dst-address-type=!local in-interface=ether5 new-connection-mark=eth1_conn per-connection-classifier=both-addresses:3/0
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!local in-interface=ether5 new-connection-mark=eth2_conn per-connection-classifier=both-addresses:3/1
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!local in-interface=ether5 new-connection-mark=eth3_conn per-connection-classifier=both-addresses:3/2

—- Por ultimo, definimos que todo paquete con cierta marca de conexion, tome la ruta de salida apropiada.

add action=mark-routing chain=prerouting connection-mark=eth1_conn in-interface=ether5 new-routing-mark=to_ether1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=eth2_conn in-interface=ether5 new-routing-mark=to_ether2 passthrough=no
add action=mark-routing chain=prerouting connection-mark=eth3_conn in-interface=ether5 new-routing-mark=to_ether3 passthrough=no

Paso 3 – Permitiendo salida por las interfaces WAN

Una vez realizado nuestro marcado de paquetes, deberemos de permitirle pasar a traves de nuestras interfaces WAN enmascarando nuestro trafico.

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1
add action=masquerade chain=srcnat out-interface=ether2
add action=masquerade chain=srcnat out-interface=ether3


Paso 4 – Configuracion de rutas de salida

Por ultimo, solo es necesario crear nuestras politicas de salida como

—- Primero creamos las rutas de salida con las marcas de ruteo especificadas previamente.
/ip route
add check-gateway=ping distance=1 gateway=192.168.10.1 routing-mark=to_ether1
add check-gateway=ping distance=1 gateway=192.168.20.1 routing-mark=to_ether2
add check-gateway=ping distance=1 gateway=192.168.30.1 routing-mark=to_ether3

—- Por ultimo, creamos las rutas de salida por default las cuales utilizara el router para salir a internet
add distance=1 gateway=192.168.10.1 check-gateway=ping
add distance=2 gateway=192.168.20.1 check-gateway=ping
add distance=3 gateway=192.168.30.1 check-gateway=ping


Con esto ya tendremos completamente configurado nuestro dispositivo para poder realizar el balanceo con las interfaces que deseemos unicamente agregando/quitando las lineas de configuracion que necesitemos.