Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Introdução:
    Já vi vários posts na internet mostrando como fazer o balanceamento de carga em dois ou mais links no mikrotik, mas todos os que eu vi ou deixam um dos links sem utilização somente como failover ou você tem que dividir as saídas por certos ips da sua rede interna.
    Nenhum dos casos me agradou, à seguir vou mostrar como fazer um balanceamento de carga de uma forma eficaz sem subutilizar um dos links ou dividir sua rede, o mesmo é orientado à conexão, ou seja, sem problemas com msn..., “ECMP load balance” no mikrotik.


    Cenário:


    LAN: 192.168.0.1/24
    WAN1: 172.16.10.10/32 – Link Embratel 2Mb
    WAN2: 172.16.20.10/32 – Link OI 2Mb

    IPS Mikrotik:
    LAN: 192.168.0.1
    WAN1:172.16.10.1
    WAN2:172.16.20.1

    IPS Routers:
    WAN1: 172.16.10.10
    WAN2:172.16.20.10


    Regras para os impacientes:

    /ip address
    add address=192.168.0.1/24 broadcast=192.168.0.255 comment="LAN" disabled=no \
    interface=ether2 network=192.168.0.0
    add address=172.16.10.1/24 broadcast=172.16.10.255 comment="WAN1" disabled=no \
    interface=ether3 network=172.16.10.0
    add address=172.16.20.1/24 broadcast=172.16.20.255 comment="WAN2" disabled=no \
    interface=ether1 network=172.16.20.0


    / ip route
    add dst-address=0.0.0.0/0 gateway=172.16.10.10,172.16.20.10 check-gateway=ping


    / ip firewall nat
    add chain=srcnat out-interface=WAN1 action=masquerade
    add chain=srcnat out-interface=WAN2 action=masquerade


    / ip firewall mangle
    add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=wan1_conn
    add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=wan2_conn
    add chain=output connection-mark=wan1_conn action=mark-routing new-routing-mark=to_wan1
    add chain=output connection-mark=wan2_conn action=mark-routing new-routing-mark=to_wan2


    / ip route
    add dst-address=0.0.0.0/0 gateway=172,16.10.10 routing-mark=to_wan1
    add dst-address=0.0.0.0/0 gateway=172.16.20.10 routing-mark=to_wan2

    Explicação:



    -IP Address:

    /ip address
    add address=192.168.0.1/24 broadcast=192.168.0.255 comment="LAN" disabled=no \
    interface=ether2 network=192.168.0.0
    add address=172.16.10.10/24 broadcast=172.16.10.255 comment="WAN1" disabled=no \
    interface=ether3 network=172.16.10.0
    add address=172.16.20.10/24 broadcast=172.16.20.255 comment="WAN2" disabled=no \
    interface=ether1 network=172.16.20.0
    Neste trecho definimos os ips da interface local LAN (192.168.0.1/24) e os ips das interfaces externas WAN(172.16.10.1/24 e 172.16.20.1/24), claro, ips inválidos, adeque a sua necessidade!



    -Routing:

    / ip route
    add dst-address=0.0.0.0/0 gateway=172.16.10.10,172.16.20.10 check-gateway=ping
    Aqui criamos uma rota tipica de ECMP (Equal Cost Multi-Path), com check-gateway. Por definição o ECMP é persistente por conexão, ou seja, se um cliente estabelece conexão pelo gateway 172.16.10.10, ele irá utilizar somente este gateway durante ESTA conexão. Assim que um dos links cair o check-gateway irá remove-lo da lista de gateway, com isso você terá um efeito failover de brinde .
    você pode utilizar também links assimétricos, por exemplo, digamos que o link da OI seja de 4Mb e o da Embratel de 8Mb, sendo o da Embratel o dobro do link da OI, você pode fazer a rota da seguinte forma para não subutilizar um dos links:
    / ip route
    add dst-address=0.0.0.0/0 gateway=172.16.20.10,172.16.10.10,172.16.10.10 check-gateway=ping



    -NAT:

    / ip firewall nat
    add chain=srcnat out-interface=wan1 action=masquerade
    add chain=srcnat out-interface=wan2 action=masquerade
    Como as rotas já foram decididas, só precisamos das regras para corrigir o src-address para os pacotes de saída, Se o pacote sair pela WAN1 será “NATeado” para 172.16.10.10/24, caso contrário será para 172.16.20.10/24.



    -Conexões Entrantes:

    / ip firewall mangle
    add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=wan1_conn
    add chain=input in-interface=wlan2 action=mark-connection new-connection-mark=wan2_conn
    add chain=output connection-mark=wan1_conn action=mark-routing new-routing-mark=to_wan1
    add chain=output connection-mark=wan1_conn action=mark-routing new-routing-mark=to_wan2
    / ip route
    add dst-address=0.0.0.0/0 gateway=172.16.10.10 routing-mark=to_wan1
    add dst-address=0.0.0.0/0 gateway=172.16.20.10 routing-mark=to_wan2
    Imagine um pacote INPUT vindo pelo link da Oi e retornando pelo link da Embratel, com ip diferente não vai dar, para evitar isso, vamos avisar ao mikrotik que o pacote que for recebido pelo link1 deve ser retornado pelo mesmo link.



    Conclusão:

    O ECMP é uma boa forma de balancear múltiplos links no mikrotik, com a utilização dele não subutilizamos os links e conseguimos um failover caso um dos links caiam, ele bem configurado dificilmente dará problemas.
    Existem alguns boatos que que o tempo de conexão do ECMP é de 10 min, até o momento não tive problemas com o msn nesta configuração, ja passei de 10 min! , pode ser sorte de sair pelo mesmo link, mas o certo e que o balanceamento está funcionando 100%, postarei mais impressões sobre esta implementação.
    Se alguem tiver algo para adicionar, be my guest!



    Fonte: Load Balance no Mikrotik usando ECMP e failover

  2. Vc fala que esse load se saiu melhor que o PCC, será que vale a pena testar esse load?



  3. rogeriodj, ainda nao testei o PCC, o segundo RB1000 que eu pedi chega amanha e vou configurá-lo como pcc para testar tb!

    neste load balance com ecmp dizem que quando da 10 min é dado um flush na tabela de roteamento, o que pode causar problemas qndo os hosts mudam de gateway(msn, bancos,...) ainda nao detectei isso, vou ver melhor amanha e digo aqui.

    o PCC foi colocado no MK para nao acontecer isso, mas ainda nao tive contato com o mesmo!

  4. Certo amigo, aqui uso o PCC com rotas dos bancos e outros sites para sairem por um mesmo link, pois se não fizer assim da problema nas paginas dos bancos, tirando isso o PCC é show de bola amigo, vc vai gostar dele...

    Citação Postado originalmente por lcmm84 Ver Post
    rogeriodj, ainda nao testei o PCC, o segundo RB1000 que eu pedi chega amanha e vou configurá-lo como pcc para testar tb!

    neste load balance com ecmp dizem que quando da 10 min é dado um flush na tabela de roteamento, o que pode causar problemas qndo os hosts mudam de gateway(msn, bancos,...) ainda nao detectei isso, vou ver melhor amanha e digo aqui.

    o PCC foi colocado no MK para nao acontecer isso, mas ainda nao tive contato com o mesmo!



  5. Já usei este balanceamento algum tempo, porem comigo o fato dos flushes a cada 10 minutos aconteciam sim, nem sempre interrompiam conexoes pois eu dava "sorte" da conexao voltar na mesma WAN, em outras situaçoes interrompiam. Realmente funciona bem, porem os flushes nas tabelas de roteamento me causaram dor de cabeça. Depois de um tempo surgiu o balanceamento PCC, migrei para o mesmo e ai sim acabaram-se todos os problemas, o melhor balanceamento possivel é utilizando PCC com a combinaçao both-addresses ou both-addresses-and-ports , ainda nao tive problemas de sub ou super-utilizaçao de links com o balancemento PCC.
    Porem sua dica é muito valida, obrigado
    Gabriel






Tópicos Similares

  1. Dividir links por IP`S no Mikrotik
    Por asinformatica no fórum Redes
    Respostas: 16
    Último Post: 01-03-2016, 15:31
  2. Respostas: 7
    Último Post: 07-11-2014, 20:27
  3. Pegar IP de uma conexão Roteada no Mikrotik
    Por jeanpablojp no fórum Redes
    Respostas: 3
    Último Post: 05-11-2014, 13:14
  4. Problemas na conexão PPP no Mikrotik
    Por Cidaum no fórum Redes
    Respostas: 3
    Último Post: 24-08-2009, 22:33
  5. Conexão IPSEC no MIkrotik
    Por tiziu no fórum Redes
    Respostas: 1
    Último Post: 27-07-2006, 23:35

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L