Balanceamento de carga com 2 links no MikroTik

Olá pessoal, como o MikroTik vem se destacando na parte de gateway e tem muita gente que usa dois ou mais links de internet, vou postar uma maneira de balancear estes links de maneira a ter um melhor desempenho.

[ Hits: 199.857 ]

Por: Raniel Guimaraes em 19/05/2008


Cenário de nosso artigo



Construiremos o seguinte cenário:

(ISP#1) IP: 200.223.0.10
(ISP#2) IP: 100.101.2.8
(REDE) IP: 192.168.10.0/24
  • 192.168.10.1-127 será usado para o Group A;
  • 192.168.10.128-253 será usado para o Group B;
  • 192.168.10.254 será usado pelo servidor.

O que pretendemos?

Quando temos em nossa rede todos os IPs relevantes, usamos a subnet 255.255.255.0 e o gateway 192.168.10.254.

Quando trabalhamos com grupo, usamos as subnet rede/25 para dividir os 2 grupos.

Criando os Grupos A e B

Como dito acima, para dividirmos em dois grupos devemos usar a rede mais a subnet de acordo com a quantidade de ips que desejamos para o grupo.

No nosso caso, como queremos dividir em apenas dois grupos, ficará desta forma:
  • Group A: 192.168.10.0/25 que será de 192.168.10.0 - 192.168.10.127;
  • Group B: 192.168.10.128/25 que será de 192.168.10.128 192.168.10.255.

Note: Se houver alguma dúvida sobre subrede, aconselho a pesquisar sobre TCP/IP. Na internet há muitos documentários que são úteis.

Agora vamos criar o nosso grupo A no mikrotik:

Acesso: IP FIREWALL MANGLE
  • Chain [prerouting]
  • src.Addr [192.168.10.0/25]
  • Action [mark routing]
  • New routing mark [Grupo_A]
  • Passthrough [no]
  • Comment [Grupo A]

  • Chain [prerouting]
  • src.Addr [192.168.10.128/25]
  • Action [mark routing]
  • New routing mark [Grupo_B]
  • Passthrough [no]
  • Comment [Grupo B]

    Próxima página

Páginas do artigo
   1. Cenário de nosso artigo
   2. Criando as rotas para os grupos
   3. Testando se o nosso balanceamento está trabalhando direitinho
Outros artigos deste autor

Instalando o gerenciador de Lan House no Linux

MikroTik + Squid 2.6 com cache full

Café com leite, gerenciador de lan house e cyber café

Configurando servidor MikroTik com Hotspot e páginas de aviso (atraso e bloqueio)

Leitura recomendada

Nagios - Instalação e configuração

Construindo um servidor NFS usando o Insigne GNU/Linux

Configuração do serviço NTP em servidor cliente

Modems no GNU/Linux

Atualização do Clamav 0.95.3 para 0.96

  
Comentários
[1] Comentário enviado por foxl em 20/05/2008 - 10:32h

ok.
imagine a seguinte situacao.
tenho um link A e o link B.

quero um script que der um downnn no link quando cair.
ex: se o A cair logicamente ficara so o B quando o link A voltar queria que ele desse um down entendeu?

[2] Comentário enviado por foxl em 20/05/2008 - 10:35h

e e aa principioo te um erro no teus grupos.

No nosso caso, como queremos dividir em apenas dois grupos, ficará desta forma:

* Group A: 192.168.10.0/25 que será de 192.168.10.0 - 192.168.10.127;
* Group B: 192.168.10.128/25 que será de 192.168.10.128 192.168.10.255.





[3] Comentário enviado por walteramelo em 23/08/2008 - 23:00h

Ola me ajuda pelo amor de deus quando instala o hotspot para tudo,
ajuda-me a fazer para usar com hotspot estou
tentando há semanas e não funciona. Grato.

email: joao3333@bol.com.br

[4] Comentário enviado por Stayling em 05/10/2008 - 04:28h

Não sei se o que fiz está correto, mas andei lendo, pesquisando e acabei fazendo o que achei mais correto em balanceamento de LINKS... ADSL/ADSL.. Desta forma que vou postando as imagens não se divide em GRUPO A ou GRUPO B, determinando de tal a tal ip será GRUPO A e de tal a tal IP será o grupo B...

Bom, vejam ai, caso queiram dpois faço o script...

http://img509.imageshack.us/img509/1193/mk1xz3.th.jpg

http://img504.imageshack.us/img504/3536/mk2rg4.th.jpg

http://img508.imageshack.us/img508/1060/mk3ih8.th.jpg


[5] Comentário enviado por fabiozero em 08/06/2009 - 00:20h

bom o artigo,

preciso do seguinte:

tenho um link ( eth1 - telefonica )
rede local ( eth2 - rede local )
eth3 desabilitada

queria colocar mais um link em eth3 e realizar um balanceamento de carga com o eth1

tipo:eth 2 rede local ( range 10.0.1.1 - 10.0.1.254 ) gw link eth1
eth2 rede local ( range 10.1.1.1 - 10.1.1.254 ) gw link eth3

mas quando o link eth1 cair, passar direto para o eth3, e se ele voltar, continuar no eth1.

se der p ajudar msn: fabiozeronunes@gmail.com

[6] Comentário enviado por valteirsf em 01/07/2009 - 21:14h

Olá pessoal.
Será se daria pra colocar por exemplo 5 links de 1mb, tranformar esses 5 links em apenas 1 link de 5mb?

[7] Comentário enviado por Ronny_Santos em 14/01/2010 - 06:39h

Quando uso o cache full (web proxy), este balanceamento nao funciona;

[8] Comentário enviado por winnet em 17/07/2010 - 20:06h

Amigo preciso muito de uma ajuda sua!
Vc esta de parabens pelo post.
O balanceamento funcionou 100% aqui no meu teste, o problema é o seguinte: Preciso criar no mikrotik dois discadores de VPN
CLIENTE PPTP so que depois que fecho o loadbalance dessa forma o mikrotik nao pinga mais em nenhum endereço externo de internet,
somente as estaçoes conseguem pingar nos sites e no ip do servidor que preciso conectar. Gostaria de saber se tem alguma forma
de fazer com que cada discador PPTP CLIENTE conecte saindo por ISP'S diferentes no mikrotik.
EX: PPTP_1 SAINDO PELO ISP_1
&
PPTP_2 SAINDO PELO ISP_2.

Se puder me ajudar, agradeço muito pois ja estou atraz de uma soluçao pra isso a dias.
Desde ja agradeço pela atençao.



[9] Comentário enviado por maiconovic em 01/02/2014 - 10:16h

Amigo fiz tudo q esta no link muito bom funciona perfeitamente mais o meu RB nao navega não pinga fora só os pc navegam ele dar a MSG "no route to host" o que pode ser ou como resolver isso?

[10] Comentário enviado por jhony.masetto em 14/06/2016 - 08:44h

Raniel sua ideia é simples e muito útil, muito obrigado pela dica.

Aproveitei e criei uma complementação para meu caso aqui, compartilho caso seja útil para mais alguém:

Utilizando da ideia do manual http://wiki.mikrotik.com/wiki/ECMP_Failover_Script

# substititua o ip_do_ips_* pelo endereço do gateway ou algum ip que só pode ter ping por aquele link.

/tool netwatch

add host=ip_do_isp_1 timeout=5s interval=30s up-script=\"/ip route set routing-mark=Grupo_A [find comment=WAN1]; /ip route set routing-mark=Grupo_B [find comment=WAN2]\"
add host=ip_do_isp_2 timeout=5s interval=30s up-script=\"/ip route set routing-mark=Grupo_B [find comment=WAN2]; /ip route set routing-mark=Grupo_A [find comment=WAN1]\"

add host=ip_do_isp_2 timeout=5s interval=30s down-script=\"/ip route set routing-mark=main [find comment=WAN2]; /ip route set routing-mark=main [find comment=WAN1]\"
add host=ip_do_isp_1 timeout=5s interval=30s down-script=\"/ip route set routing-mark=main [find comment=WAN1]; /ip route set routing-mark=main [find comment=WAN2] \"

Este script faz nada mais do que ping a cada tantos segundos para um ip a ser definido e em caso de não conseguir ele retira a tag de grupo A e B de cada link fazendo com que tudo seja escoada para o link que estiver ativo.

[11] Comentário enviado por aptustech em 25/05/2021 - 00:21h

Eu estou com uma rede OSPF rodando assim: R1->R2->R3->R4 onde, o link de R1 para R2 vai via Fibra direto, de R2 para R3 vai via PTP com MIMOSA passando 350MB, tenho um outro PTP com AIRFIBER de R2 para R3 que quero ativar pra somar mais 200MB, de R3 para R4 tenho um PTP com RB922 AC passando 200MB, mas também tenho um PTP com AirFiber passando 100MB, o que eu preciso e agregar ou somar os 2 PTP de R2->R3 e os 2 PTP de R3->R4 afim de sair do gargalo, isso rodando pelo OSPF dinamicamente. Como eu poderia fazer isso?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts