segunda-feira, 26 de janeiro de 2009

Redundância de link no Mikrotik

Esse cenário considerou que sua empresa tem dois links de internet como por exemplo um link de 1Mb da Embratel e outro de 1Mb da Brasiltelecom. O servidor que recebe os links de internet e faz o compartilhamento da mesma para a sua rede local deve ter três placas de rede. No mikrotik vamos considerar que a ETHER1 é a sua rede local, a ETHER2 é onde recebe o link da Embratel e a ETHER3 é onde chega o link da Brasiltelecom.

Consideramos também que o seu servidor já está pronto e tem a sua rede local e a internet funcionando pelo link da Embratel e você precisa agora criar uma redundância de link, ou seja, se o link da Embratel cair o link da Brasiltelecom será acionado e se por ventura o link da Brasiltelecom também cair ele voltará automaticamente para o link da Embratel. Imaginemos que a ETHER1 e 2 já estão configuradas. Agora configure a ETHER3 da mesma forma que a ETHER2, coloque o ip, a mascara e o gateway. Não precisa alterar o DNS. Depois de configurado o gateway você verá que ele ficará em azul e você se pergunta: E agora? É aí que entra o script para automatizar o serviço de redundância de link.

Conect-se ao servidor via winbox clique em SYSTEM depois em SCRIPTS, na tela que foi apresentada clique no sinal de + no campo NAME vamos colocar um nome para o gateway do link principal o qual tem que estar ativo, por exemplo: gwembrateld. No campo source digite:

/ip route disable [/ip route find gateway=X.X.X.X] clique em OK.

Observação: altere o X.X.X.X para o ip do seu gateway principal.

Clique mais uma vez no sinal de + e no campo NAME digite o nome para o gateway do link reserva a ser ativado, exemplo: gwembratela. No campo source digite:

/ip route enable [/ip route find gateway=X.X.X.X] clique em OK.

Observação: altere o X.X.X.X para o ip do seu gateway reserva.

Agora temos dois scripts, um para desativar o gateway principal caso ele falhe e o outro para ativar o link reserva.

Aí surge mais uma pergunta: E se o link reserva falhar depois? Não se preocupe porque o link principal será acionado logo em seguida.

Agora vamos criar uma regra para executar esses scripts quando for necessário.

Clique em NEW TERMINAL e na tela que lhe foi apresentado digite essa linha de comando.

/tool netwatch add host=200.176.3.142 interval=10s timeout=300ms up-script=gwembrateld down-script=gwembratela

Entendendo essa linha: O ip do add host é o ip do site do terra, essa linha emitirá um ping com apenas uma requisição a cada 10 segundos, se a cada ping o tempo de resposta for maior que 300 milissegundos o link irá desativar o gateway do link principal e ativará o gateway do link reserva. Se o link principal voltar ao normal nada irá acontecer o link só voltará a ser usado se o link reserva falhar, caso você queira voltar para o link principal mesmo que o reserva não tenha falhado você deverá ir em IP depois em ROUTE selecionar o gateway principal e ativá-lo, você verá que o gateway reserva ficará azul novamente.

Quando implantar esse link você deve observar o seu gateway principal porque ele será desativado mas não se preocupe porque será somente na hora da implantação, você deverá ir em IP depois em ROUTE e ativar novamente o seu gateway principal e pronto, o seu script está pronto para alternar os links caso um falhe.

Até a próxima.

25 comentários:

  1. E como faço para usar o sdois ao mesmo tempo? um link de 2MB com a BRT e outro de 2MB com a Embratel por exemplo.

    ResponderExcluir
  2. http://www.imctreinamentos.com.br (Site da minha outra empresa)

    e só vc editar pra ficar de acordo com sua rede..

    / ip firewall mangle
    add chain=prerouting in-interface= Local connection-state=new nth=1,1,0 action=mark-connection new-connection-mark=odd passthrough=yes comment="Balanceamento de carga" disabled=no

    add chain=prerouting in-interface= Local connection-mark=odd action=mark-routing new-routing-mark=odd passthrough=no comment="" disabled=no

    add chain=prerouting in-interface= Local connection-state=new nth=1,1,1 action=mark-connection new-connection-mark=even passthrough=yes comment="" disabled=no

    add chain=prerouting in-interface= Local connection-mark=even action=mark-routing new-routing-mark=even passthrough=no comment="" disabled=no



    / ip firewall nat
    add chain=srcnat connection-mark=odd action=src-nat to-addresses=192.168.15.199 to-ports=0-65535 comment="Balanceamento de carga" disabled=no

    add chain=srcnat connection-mark=even action=src-nat to-addresses=192.168.241.73 to-ports=0-65535 comment="" disabled=no



    / ip route
    add dst-address=0.0.0.0/0 gateway=192.168.15.254 scope=255 target-scope=10 routing-mark=odd comment="Gateway SttarNet" disabled=no

    add dst-address=0.0.0.0/0 gateway=192.168.251.254 scope=255 target-scope=10 routing-mark=even comment="Gateway INova" disabled=no


    add dst-address=0.0.0.0/0 gateway=192.168.15.254 scope=255 target-scope=10 comment="principal" disabled=yes

    ResponderExcluir
  3. É isso ai! Alagoinhas marcando presença!rss

    ResponderExcluir
  4. amigo eu toquerendo fazer um esquemas desses..

    só que minha rede funciona da sguinte forma...

    link speed - 192.168.1.1 (roteado) , cai num bridge edmax oparenado como gatway, 192.168.0.10, e sai para as maquinas , que esta configuradas obviamente para buscar gateway no radio...

    agora quero jogar esse esquema no mk, junto com o link via radio pelo ip , 172.16.225.2 e gtw 172.16.225.1 , isso sem ter que mexer na rede das maquinas deixar os mesmo ips e gatway continuar o 0.10, da uma ajuda ai..

    responda pelo e-mail danilo_sardelari@yahoo.com.br vlw

    ResponderExcluir
  5. e se os dois modens estiverem em bridge?

    ResponderExcluir
  6. configura o tipo de conexão com PPOE.

    ResponderExcluir
  7. gostaria de saber como eu faço para colocar dois links da seguinte maneira:colocarei dois links speedy de dois megas, mas quero que os dois funcionem na rede wireless e cabeada,quero que a rb faça o balanceamento da carga dos links, ou seja, distribua os clientes pelos links, sem criar grupos.
    edmoura72@hotmail.com, desde ja agradeço.

    ResponderExcluir
  8. presados amigos. por favor poderia mim dar uma ajudinha.
    eu tenho um link via radio. e quando ele fica muito tempo parado ele perde a conctividade mais quando mando minha maquina ficar pingando nele, funciona perfeito. queria criar uma regra no microtik pra ficar pingando direto no link. tipo microtik ping link4 10.2.2.2 -t aguardo

    ResponderExcluir
  9. Gostei muito dessa dica... realmente funciona e quando o link principal retorna, ele volta a ser o gw default automaticamente. So vi um probleminha... numa rede onde o trafego é um pouco mais intenso, ou seja... que o equipamento trabalhe durante todo o dia, sem parar, aqueles usuarios que estao usando no momento da troca de gw, perdem a conexao, penso que o o ideal é que a rb reboote sempre que trocar de link, p/ evitar essa demora no retorno. Existe como adicionar um script p/ ela rebootar sempre que trocar o gw?... Mas, realmente esta de parabéns... dica muito util...
    abs

    Andre

    ResponderExcluir
  10. Bom dia, na verdade o tempo que se leva pra mudar de link é muito rápido e a verificação é a cada 300ms mile segundos, isso quer dizer que será mais rápido o retorno do link de que o reboot da RB e mesmo reiniciando ou trocando de link a conexão dos clientes será perdida mas eles só iram perceber isso se estiverem logando por exemplo em um msn da vida ou algum programa p2p ou até mesmo logado em algum banco, fora isso eles nem iram sentir.

    Abraço!

    ResponderExcluir
  11. Pessoal não sei o que foi eu sequi a risca o tutorial do Jordão, a rotina ta funcionando em parte pois quando o link reserva cai ou tem algun problema não retorna pro principal.

    ResponderExcluir
  12. meu filho tem um provedor em uma cidade e manda o sinal pra outra com mikrotik e agora recebe sinal na outra cidade pergunto: como vou tirar a antena a rb da cidade que ta para levar pra que recebe o cinal como proceder com o ip da telefonica onde devo mecher pra conseguir mudar o sinal pra onde ta o provedor edeixar de ser uma repetidora para ser no outro local o captador do sinal?

    ResponderExcluir
  13. link full

    amigo vc ta de parabens
    mais vc poderia disser se tem como voltar para o link principal assim que ele voltar ao normal??

    ResponderExcluir
  14. Amigo vc ta de parabens, mas ve se vc pode me ajudar, eu fiz um balanceamento e ele tava funcionando perfeitamente agora toda vez que habilito o link2 niguem consegue navegar. O que será que aconteceu, segue abaixo as config.
    Interfaces

    Rede ip - 192.168.0.1/24
    Link1 ip - 10.10.10.1/24
    Link2 ip - 20.20.20.1/24

    regras:

    /ip firewall mangle
    add action=mark-routing chain=prerouting comment=msn disabled=no dst-port=\
    1863 new-routing-mark=msn passthrough=yes protocol=tcp
    add action=mark-packet chain=prerouting comment="" disabled=no \
    new-packet-mark=msn passthrough=yes routing-mark=extra

    add action=mark-routing chain=prerouting comment=https disabled=no dst-port=\
    443 new-routing-mark=https passthrough=yes protocol=tcp
    add action=mark-packet chain=prerouting comment="" disabled=no \
    new-packet-mark=https passthrough=yes routing-mark=extra

    /ip route
    add comment=balanceamento disabled=no dst-address=0.0.0.0/0 \
    gateway=10.10.10.1,20.20.20.1 scope=255 target-scope=\
    10
    add comment=extras disabled=no distance=1 dst-address=0.0.0.0/0 \
    gateway=20.20.20.1 routing-mark="extra" scope=255 target-scope=\
    10

    ResponderExcluir
  15. tenho um mikrotik vercao 2.9 e fiz o balanciamento de links
    link 1 192.168.1.1
    link 2 192.168.3.1
    ip da red 192.168.0.1
    so que agora nao consigo jogar porque fico levando disconect como resolvo issu alguem sabe

    ResponderExcluir
  16. Isso acontece porque você está usando balanceamento de carga, quando você usa isso sem uma configuração de marcação de pacote isso irá acontecer porque do jeito que está, hora um pacote do seu jogo sai exemplo, pelo link 1 e hora sairá pelo link 2.

    Por isso você ta desconectando direto.

    Você deve criar um mangle para marcar os pacotes do jogo e determinar por onde estes pacotes irão sair.

    ResponderExcluir
  17. vc sabe criar esta regra? pra eu parar de levar disconect? porfavor me ajude

    ResponderExcluir
  18. eu tenho a seguinte duvida.

    nos possuimos um link de radio em bridge e uma redundancia. como faço para que quando um radio parar de funcionar o outro entre automaticamente???

    Obs: essa mk que vai alternar os links tem que ficar de forma transparente (bridge).

    ResponderExcluir
  19. Otima dica... excelente tutorial

    ResponderExcluir
  20. Olá amigo... Gostaria de saber como faço para sair desse problema: tenho um link Embratel com ip fixo usado para vários dispositivos diferentes se comunicarem com meu servidor. Ocorrem que alguns aceitam ip fixo ou dinâmico aí tudo ok, programo como dinâmico. Outros só aceitam ip fixo e enquanto a Embratel está no ar ok. Mas quando cai, entra a Velox com ip dinâmico e aqueles dispositivos que só acitam ip fixo não entram mais. Tem alguma maneira de eu ter essa redundância de link e de alguma forma simular esse meu ip e não interromper o processo?
    Obrigado

    ResponderExcluir
  21. Amigo refaço a pergunta que um colega lhe fez.

    AnônimoMay 14, 2010 07:56 AM
    link full

    amigo vc ta de parabens
    mais vc poderia disser se tem como voltar para o link principal assim que ele voltar ao normal??

    ResponderExcluir
  22. muito mas so funciona com rotas estáticas, valeu parabems

    ResponderExcluir
  23. Ola, Estou com o seguinte problema, preciso de conexao entrando em um servidor 192.168.0.50 , coloquei uma Rb com 2 link de internet, mas o meu problema é o sequinte:
    Ao acessar a aplicação e apontando pra a rb que faz pppoe no link1 acesso o servidor 192.168.0.50 porta 9900. ate ai tudo certo, o problema é quando tento o acesso pelo IP do link2 não consigo acessar o servidor 192.168.0.50 porta 9900, mesmo tendo feito o redirecionamento pra ele, pelo que analisei as conexao que inicio para o destino do link 2 chega na rb e esta voltando para o link 1 e por isto não consigo acesso ao server pelo link2, ou seja a marcação de pacote que fiz para marcar as conexao não esta funcionando,mas todas elas contabiliza trafego de dados.

    Detalhe, o redirecionamento para o servidor vai para o mesmo IP e porta, por isto nao funcionou.

    Como faço para que as conexao de entrada (UPLOAND) no servidor o mikrotik reconheça e volte ela pela mesma interface que originou a comunição?

    ResponderExcluir