← Volver al Blog
load-balancing routing isp

Cómo balancear dos conexiones a Internet con PCC

Tenés dos conexiones a Internet y querés usar las dos a la vez, no solo tener una como respaldo frío. El enfoque ingenuo — alternar paquetes individuales entre los dos enlaces — rompe las cosas, porque una sola sesión TCP (una descarga, una videollamada) termina repartida entre dos caminos con latencia distinta y puede llegar desordenada o directamente fallar. Per Connection Classifier (PCC) resuelve esto balanceando conexiones enteras, no paquetes.

1

Marcá las conexiones para cada ISP en la tabla mangle

En prerouting, clasificá cada conexión nueva desde tu LAN en uno de dos grupos usando un hash del par de direcciones. El 2/0 y 2/1 significan "dividir en 2 grupos, este es el grupo 0 (o 1)":

/ip firewall mangle add chain=prerouting src-address=192.168.88.0/24 \
  dst-address-type=!local per-connection-classifier=both-addresses:2/0 \
  action=mark-connection new-connection-mark=isp1-conn

/ip firewall mangle add chain=prerouting src-address=192.168.88.0/24 \
  dst-address-type=!local per-connection-classifier=both-addresses:2/1 \
  action=mark-connection new-connection-mark=isp2-conn
2

Marcá el ruteo para cada connection mark

Una vez que una conexión está marcada, etiquetá sus paquetes con una marca de ruteo para que sigan el gateway correspondiente:

/ip firewall mangle add chain=prerouting connection-mark=isp1-conn action=mark-routing new-routing-mark=to-isp1
/ip firewall mangle add chain=prerouting connection-mark=isp2-conn action=mark-routing new-routing-mark=to-isp2
3

Agregá una ruta default por cada routing mark

Cada routing mark necesita su propia ruta default apuntando al gateway del ISP correspondiente:

/ip route add gateway=1.1.1.1 routing-mark=to-isp1
/ip route add gateway=2.2.2.2 routing-mark=to-isp2
/ip route add gateway=1.1.1.1 distance=1
/ip route add gateway=2.2.2.2 distance=2

Las últimas dos rutas simples cubren el tráfico que nunca recibió una marca de conexión (como tráfico originado por el propio router), con el mismo patrón de failover por distancia que se usa en un dual-WAN básico.

4

Confirmá que los dos enlaces estén llevando tráfico

Generá tráfico desde varios clientes distintos de la LAN y mirá los contadores de interfaz en las dos WAN — con la división 2/0 y 2/1 de PCC, deberías ver conexiones cayendo en ambos enlaces de forma más o menos pareja a lo largo de suficientes clientes.

Por qué hacerlo así

PCC hashea la tupla de dirección/puerto de la conexión y mantiene todos los paquetes de esa misma conexión en el mismo enlace durante toda su vida — ese es justamente el punto de balancear por conexión en vez de por paquete. Una transferencia de archivo grande o una videollamada se mantiene coherente en un solo camino de principio a fin, mientras que la próxima conexión nueva puede terminar hasheada al otro enlace. Repartir paquetes individuales entre dos enlaces con latencia distinta, en cambio, produce habitualmente entregas desordenadas y sesiones TCP rotas — parece que debería funcionar y en la práctica casi nunca funciona.

Cómo te ayuda MoniTik

Tener dos enlaces WAN solo vale la pena si realmente sabés que los dos están sanos — MoniTik muestra el estado y el throughput de ambas interfaces en un solo panel, así que un enlace secundario degradado o directamente caído no pasa desapercibido durante semanas mientras todo tu tráfico se va acumulando silenciosamente en el que sigue funcionando.

Iniciar Prueba Gratuita
Camila Torres
Camila Torres Ingeniera de Redes

Camila se especializa en ruteo, VPNs y hardening de despliegues MikroTik para redes chicas y medianas.