← Voltar ao Blog
load-balancing routing isp

Como balancear duas conexões de internet com PCC

Você tem duas conexões de internet e quer usar as duas ao mesmo tempo, não só manter uma como backup frio. A abordagem ingênua — alternar pacotes individuais entre os dois links — quebra as coisas, porque uma única sessão TCP (um download, uma videochamada) acaba dividida entre dois caminhos com latências diferentes e pode chegar fora de ordem ou simplesmente falhar. O Per Connection Classifier (PCC) resolve isso balanceando conexões inteiras, não pacotes.

1

Marque as conexões para cada provedor na tabela mangle

No prerouting, classifique cada nova conexão vinda da sua LAN em um de dois grupos usando um hash do par de endereços. O 2/0 e 2/1 significam "dividir em 2 grupos, este é o grupo 0 (ou 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

Marque o roteamento para cada connection mark

Depois que uma conexão está marcada, etiquete os pacotes dela com uma marca de roteamento para que sigam o gateway correspondente:

/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

Adicione uma rota default para cada routing mark

Cada routing mark precisa da sua própria rota default apontando para o gateway do provedor correspondente:

/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

As duas últimas rotas simples cobrem o tráfego que nunca recebeu uma marca de conexão (como tráfego originado pelo próprio roteador), com o mesmo padrão de failover por distância usado em um dual-WAN básico.

4

Confirme que os dois links estão carregando tráfego

Gere tráfego a partir de alguns clientes diferentes da LAN e observe os contadores de interface nas duas WANs — com a divisão 2/0 e 2/1 do PCC, você deve ver conexões caindo nos dois links de forma mais ou menos equilibrada ao longo de clientes suficientes.

Por que fazer assim

O PCC faz hash da tupla de endereço/porta da conexão e mantém todos os pacotes dessa mesma conexão no mesmo link durante toda a sua vida — esse é justamente o ponto de balancear por conexão em vez de por pacote. Uma transferência de arquivo grande ou uma videochamada se mantém coerente em um único caminho do início ao fim, enquanto a próxima conexão nova pode acabar caindo no outro link. Já dividir pacotes individuais entre dois links com latências diferentes costuma produzir entregas fora de ordem e sessões TCP quebradas — parece que deveria funcionar e, na prática, quase nunca funciona.

Como o MoniTik ajuda

Ter dois links WAN só vale a pena se você realmente souber que os dois estão saudáveis — o MoniTik mostra o status e o throughput das duas interfaces em um único painel, então um link secundário degradado ou totalmente fora do ar não passa despercebido por semanas enquanto todo o seu tráfego vai se acumulando silenciosamente no que ainda está funcionando.

Iniciar Teste Grátis
Camila Torres
Camila Torres Engenheira de Redes

Camila é especialista em roteamento, VPNs e hardening de implantações MikroTik para redes pequenas e médias.