+ Responder ao Tópico



  1. #1

    Question LoadBalance Mikrotik com 2 links roteados

    Bom dia galera.
    Estou tendo problemas ao fazer um loadbalance com 2 links roteados em uma RB 750 r2.

    Ao desconectar os cabos das interfaces do mikrotik, o loadbalance funciona normalmente. O problema está quando eu desconecto o "cabo que vem da rua" de algum dos modens, pois ocorre que alguns sites não funcionam normalmente, sites com HTTPS (facebook, sites de bancos, etc) são os mais afetados.

    Alguém mais teve esse problema?

    Outra coisa...sei que é possível, via script, desabilitar/habilitar qualquer interface. (/interface disable/enable "nome_interface").
    É possível, via script, recuperar o status de uma interface? Por exemplo, quero saber se a interface X está desabilitada ou habilitada.

  2. #2

    Padrão Re: LoadBalance Mikrotik com 2 links roteados

    Galera, em relação ao script, eu consegui resolver.
    O script para buscar o status da interface:

    /interface get "nome_interface" disabled (retorna "yes" caso a interface esteja desabilitada ou "no" caso ela esteja habilitada). Ps: "disabled" pode ser trocado por "enabled".

    Agora só ficou mesmo o problema com o LoadBalance.

  3. #3

    Padrão Re: LoadBalance Mikrotik com 2 links roteados

    Ola bom dia.
    Você precisa fazer um Fail over no seu mk para cada link roteado.
    Cria uma rota manual de um ip para cada gateway roteado ( pode ser algum dns , open, google , um que você não use na rede ).Com isso feito em tools netwatch, você vai configurar, para ativar desativar a rota padrao de cada modem roteado, baseado na resposta dos ips que configurou para sair por cada roteador.
    Procura aqui mesmo no under, que tem alguns exemplos.
    Abraços.

  4. #4

    Padrão Re: LoadBalance Mikrotik com 2 links roteados

    Eu fiz isso, mas não funcionou como planejado. Vou explicar melhor abaixo:
    Tenho 2 links, GVT de 35MB e Velox de 10MB. Eu não me importo se o loadbalance não funcionar, pois uso o Velox somente em caso de falha no link principal.

    Eu configurei o netwatch para verificar o DNS 8.8.8.8. Porém, se as duas rotas estiverem habilitadas e os dois links estiverem funcionando, a resposta do DNS vai ser sempre OK.
    Vamos supor que o link da GVT caia. O netwatch ainda vai deixar marcado como UP, pois o segundo link vai estar ativo e tendo resposta do DNS.

    Ai, vamos supor que o link da GVT volte. Como eu faço pra descobrir se ele voltou? Existe uma forma de configurar o netwatch para sair por uma rota determinada? Pois os que eu vi aqui, ele não escolhe uma rota, ele sai para a que estiver disponível.

  5. #5

    Padrão Re: LoadBalance Mikrotik com 2 links roteados

    Citação Postado originalmente por Andreatti Ver Post
    Eu fiz isso, mas não funcionou como planejado. Vou explicar melhor abaixo:
    Tenho 2 links, GVT de 35MB e Velox de 10MB. Eu não me importo se o loadbalance não funcionar, pois uso o Velox somente em caso de falha no link principal.

    Eu configurei o netwatch para verificar o DNS 8.8.8.8. Porém, se as duas rotas estiverem habilitadas e os dois links estiverem funcionando, a resposta do DNS vai ser sempre OK.
    Vamos supor que o link da GVT caia. O netwatch ainda vai deixar marcado como UP, pois o segundo link vai estar ativo e tendo resposta do DNS.

    Ai, vamos supor que o link da GVT volte. Como eu faço pra descobrir se ele voltou? Existe uma forma de configurar o netwatch para sair por uma rota determinada? Pois os que eu vi aqui, ele não escolhe uma rota, ele sai para a que estiver disponível.
    Especifique para o 8.8.8.8 sair pelo gatway1
    ex:
    /ip routeadd comment="GOOGLE PELO GATWAY 192.168.25.1" distance=1 dst-address=\
    8.8.8.8/32 gateway=192.168.25.1
    Assim o 8.8.8.8 so vai sair por ele.

    qualquer coisa me add ai que te ajudo

    [email protected] ( skype )

  6. #6

    Padrão

    Citação Postado originalmente por Andreatti Ver Post
    Eu fiz isso, mas não funcionou como planejado. Vou explicar melhor abaixo:
    Tenho 2 links, GVT de 35MB e Velox de 10MB. Eu não me importo se o loadbalance não funcionar, pois uso o Velox somente em caso de falha no link principal.

    Eu configurei o netwatch para verificar o DNS 8.8.8.8. Porém, se as duas rotas estiverem habilitadas e os dois links estiverem funcionando, a resposta do DNS vai ser sempre OK.
    Vamos supor que o link da GVT caia. O netwatch ainda vai deixar marcado como UP, pois o segundo link vai estar ativo e tendo resposta do DNS.

    Ai, vamos supor que o link da GVT volte. Como eu faço pra descobrir se ele voltou? Existe uma forma de configurar o netwatch para sair por uma rota determinada? Pois os que eu vi aqui, ele não escolhe uma rota, ele sai para a que estiver disponível.

    Andreatti,

    Segue http://blog.aeciopires.com/wp-conten...r-Mikrotik.pdf

    Se usar o dns 8.8.8.8 para sua rede local utilize outros dns's para fazer a verificação.

    Utilize algum desses http://www.guiadowindows.net/os-melh...-dns-publicos/

  7. #7

    Padrão Re: LoadBalance Mikrotik com 2 links roteados

    @Andreatti,

    Só para você ter mais informações, você pode usar tabelas de roteamento nomeadas para fazer isso, sem precisar criar rotas especificas para IPs públicos. Ao invés de usar o Netwatch, nesse caso, você usa o Scheduler. Digamos que você tem 2 links com roteadores nos seguintes IPs:

    Link #1: 192.168.1.1/24
    Link #2: 192.168.2.1/24

    Você cria as rotas assim:

    Código :
    /ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=routelink1 distance=1 comment="Link1_Main"
    /ip route add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=routelink1 distance=2 comment="Link1_Fail"
    /ip route add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=routelink2 distance=1 comment="Link2_Main"
    /ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=routelink2 distance=2 comment="Link2_Fail"

    Como você pode ver, usamos os 2 gateways para a tabela de roteamento "routelink1", e os 2 gateways para a tabela de roteamento "routelink2". Porém, perceba os atributos "distance". A tabela "routelink1", tem 2 rotas para qualquer endereço (0.0.0.0/0), mas com "distance" diferente, isso quer dizer que a rota de menor distancia vai sempre ser usada, e a rota de distancia 2 assumirá quando a de distancia 1 não estiver funcionando (quando você desabilitar ela por script). Deste modo, você pode fazer o seu Load Balance com os 2 links funcionando, e quando um link cair, o outro assume o trafego geral.
    Os "comment" são para facilitar a vida nos scripts principalmente.

    No Scheduler, você pode criar um script assim:

    Código :
    :local ping [ping 208.67.220.220 routing-table=routelink1 count=2]
    :if ($ping=0) do={
      /ip route set [find comment="Link1_Main"] disabled=yes
    } else={
      /ip route set [find comment="Link1_Main"] disabled=no
    }
     
    :local ping [ping 208.67.220.220 routing-table=routelink2 count=2]
    :if ($ping=0) do={
      /ip route set [find comment="Link2_Main"] disabled=yes
    } else={
      /ip route set [find comment="Link2_Main"] disabled=no
    }

    Esse script, vai fazer uma sequencia de 2 pings no IP especificado (no caso coloquei ali o IP do OpenDNS, pois o do google aqui pra mim costuma perder pacotes de ping). Primeiro 2 pings usando a tabela de roteamento "routelink1" e caso perca os 2 pacotes, ele desabilita a rota com comentário "Link1_Main", que é a rota original do primeiro link, com distancia 1, e nesse momento, a rota de distancia 2 assume, sendo que a rota de distancia 2 na verdade é o segundo link.
    Logo após ele da mais 2 pings para o OpenDNS usando a tabela "routelink2", e caso perca os 2 pacotes desabilita a rota com comentário "Link2_Main", o que faz com que a de distancia 2 assuma e ela na realidade é o link 1.

    Bom, é por ai.

    Claro que pra isso funcionar, você precisa fazer marcação de pacotes no seu mangle, mas você disse que ja tem um loadbalance. Não sei como fez seu LoadBalance, mas se fez com marcação de pacotes, não precisa alterar muito o mangle, é só ajustar os nomes que tu criou para as routing-marks.

    A questão de alguns sites, principalmente bancos, não abrirem, vai acontecer com frequencia caso você use PCC especificando valores que com frequencia podem mudar ao acesso a esses serviços. Por exemplo, quando você abre o site do banco, o formulário HTML ou Javascript fornecido para entrar os dados vem de um servidor X, porém, a autenticação dos dados desses formulários é feito no servidor Y (ips diferentes). E por motivos de segurança, os sites identificam caso você tente logar os dados por uma rota (seu IP público) sendo que os dados não foram entrados no formulário por aquela mesma rota.

    Por isso, quando você usa PCC com "both address" ou "both address and ports", ou somente "dst address" ou "dst address and ports" costuma dar esse problema, pois frequentemente o load balance vai abrir a pagina (HTML) que ta no servidor X por um link e na hora de logar vai mandar os dados do formulario para o servidor Y por outro link.

    Faz tempo que eu vi isso, mas se você simplesmente colocar varios gateways em uma só rota ele faz um load balance com uma política de round-robin se não me engano, o que vai gerar o mesmo problema.

    Portanto, a maneira mais facil seria usar PCC com "src address" como valor de hash, pois o mesmo usuário nesse caso sairia sempre pelo mesmo link. Depois disso, criando experiência com o mangle, você pode criar politicas de balanceamento mais complexas, baseando-se por serviços por exemplo, e/ou por portas, protocolos.

  8. #8

    Padrão Re: LoadBalance Mikrotik com 2 links roteados

    te ajudo nisso, me chama no whatsapp 21 97222-0823.

    Citação Postado originalmente por Andreatti Ver Post
    Eu fiz isso, mas não funcionou como planejado. Vou explicar melhor abaixo:
    Tenho 2 links, GVT de 35MB e Velox de 10MB. Eu não me importo se o loadbalance não funcionar, pois uso o Velox somente em caso de falha no link principal.

    Eu configurei o netwatch para verificar o DNS 8.8.8.8. Porém, se as duas rotas estiverem habilitadas e os dois links estiverem funcionando, a resposta do DNS vai ser sempre OK.
    Vamos supor que o link da GVT caia. O netwatch ainda vai deixar marcado como UP, pois o segundo link vai estar ativo e tendo resposta do DNS.

    Ai, vamos supor que o link da GVT volte. Como eu faço pra descobrir se ele voltou? Existe uma forma de configurar o netwatch para sair por uma rota determinada? Pois os que eu vi aqui, ele não escolhe uma rota, ele sai para a que estiver disponível.