Mikrotik failover LTE

Uma palavra de introdução

AInternet estável é cada vez mais importante, especialmente durante a COVID19 quando uma grande parte da população tem de trabalhar remotamente. Uma das medidas para garantir o acesso à Internet é adquirir um link da segunda operadora, muitas pessoas decidem escolher o acesso na forma de linha LTE.

Tem havido muitas idéias de como operar o segundo link, que em princípio deveria ser apenas um backup. Infelizmente, nenhuma solução correspondeu às minhas expectativas, embora todas elas "tenham funcionado".

Na minha busca por inspiração encontrei um artigo publicado no Server Management por Timo Puistaj a partir de 2017. A maneira descrita de detectar um link através da extensão e manipulação do roteamento se mostrou bastante eficiente, mas não foi possível detectar falhas no link quando há perdas de pacotes ou um aumento drástico no tempo de transferência de pacotes no link principal. Decidi alargar esta ideia para todas as minhas necessidades.

Pressupostos

A premissa do guia é a seguinte:
  • Rápida detecção de perda com o elo principal;
  • Detectar um aumento dos tempos de latência na ligação primária e interpretar o problema como um problema;
  • Detecção de falha de ligação à Internet mais longe do que o meu gateway local no ISP;
  • Detecção de reparo da conexão da ligação primária;
  • Mudando do link de backup para o link principal implementado com atraso;
  • Automatização total;
  • Usando o roteador MikroTik existente

Diagrama de rede

Mikrotik failover LTE Clique para ampliar!
Mikrotik failover LTE

Configuração do Script - Netwatch

O princípio de operação é baseado no uso da ferramenta Netwatch implementada no MikroTik RouterOS com suporte a scripts e verificação adicional, estendendo a rota de roteamento e verificando a disponibilidade do gateway padrão.

/sistema script

add dont-require-permissions=no name=NetWatch-check owner=admin policy=

reiniciar, ler, escrever, política, testar fonte="#Aqui você pode mudar o valor.

A quantidade de tempo em minutos que o link BACKUP é o preferido.

antes de verificarmos se a ligação principal está a funcionar correctamente.

...

global nwwait 15.

Deixe inalterado.

global nwgw2.

global nwgw2;nwgw2;nwgw2

local nwgw2;}

nm:local nwgw status;}

nwgwstatus ([/tool netwatch get value-name=status [find comment=

"NetWatch"]);})

nwnset nwstatus ([/ip route get value-name=distance number=[/ip route f

ind comment="BACKUP"]);}

}:if ($nwstatus = "6") do={.

Set nwgw2 (nwgw2 1)}

}

Se (($nwgw2 > $nwgwwait) e ($nwgw status = "para cima")) do={ :log err

ou "Mestre GW: OK".

set nwgw2 (0).

[find comment="BACKUP"] distance=66;nwgw2 (0)}

\n"

add dont-require-permissions=no name=NetWatch owner=admin policy=

reboot,read,write,test source="/log error" "Master GW: PROBLEMA".

ip route set [find comment="BACKUP"] distance=6.

[find comment="BACKUP"] distância=6

\n"

add dont-require-permissions=no name=NetWatch-init owner=admin policy=

ftp,reiniciar,ler,escrever,política,teste,senha,sniff,sensível,romon

source="#número deverificações antes da ligação ser trocada".

global nwwait 20;}

\n"

Roteiros usados:

NetWatch - script executado em caso de falha do link principal

NetWatch-check - script executado temporariamente verificando a comutação para a ligação principal, neste script podemos definir por quanto tempo a ligação BACKUP a partir do momento da comutação permanecerá a ligação principal antes de verificarmos se a ligação principal já está a funcionar correctamente. Na situação padrão, isto é 15 minutos.

Ativação temporária de sktpts

O próximo passo é definir um temporizador para a execução de scripts.

/sistema de agendamento

adicionar intervalo=1m nome=NetWatch no evento=

"/system script run NetWatch-check" policy="policy

policy="/system script run NetWatch-check".

ftp,reiniciar,ler,escrever,política,teste,senha,sniff,sensível,romon

start-date=apr/11/2020 start-time=17:31:44

Configuração Netwatch Mikrotik

É hora de configurar a ferramenta Netwatch Mikrotik. no lugar de A.B.C.D digite o endereço padrão do gateway do link principal. O valor de timeout podemos especificar o quão sensível será a detecção de falha do link principal.

relógio de rede /ferramenta

add comment=NetWatch down-script="/system script run NetWatch" host=A.B.D.

host=intervalo A.B.C.D =5s timeout=100ms

Configuração do roteamento

Finalmente você precisa configurar o roteamento, aqui usamos o truque do roteamento estendido e verificar a disponibilidade do gateway padrão. No lugar de A.B.C.D introduzir o endereço de gateway padrão do link primário, e no lugar de E.F.G.H introduzir o endereço de gateway padrão do link de backup BACKUP.

/rota de mergulho

add comment=MASTER distance=10 gateway=10.255.66.1

adicionar comentário=BACKUP distância=66 gateway=10.255.67.1

add check-gateway= distância de abertura=1 dst-address=10.255.66.1/32 gateway=

208.67.220.220 escopo=10

add check-gateway= distância de abertura=1 dst-address=10.255.66.1/32 gateway=10

8.8.8.8 escopo=10

add check-gateway= distância de abertura=1 dst-address=10.255.67.1/32 gateway=

208.67.222.222 escopo=10

add check-gateway= distância de abertura=1 dst-address=10.255.67.1/32 gateway=10

8.8.4.4 escopo=10

adicionar distância=1 dst-address=8.8.4.4/32 gateway=E.F.G.H scope=10

adicionar distância=1 dst-address=8.8.8.8/32 gateway=A.B.C.D scope=10

add distance=1 dst-address=208.67.220.220/32 gateway=A.B.C.D scope=10

add distance=1 dst-address=208.67.222.222/32 gateway=E.F.G.H scope=10

Utilizamos os populares endereços ip dos serviços dns do Google (8.8.8.8, 8.8.4.4) e OpenDNS (208.67.220.220, 208.67.222.222), os quais verificamos se são contactáveis por um determinado operador. Se eles estiverem disponíveis, o gateway padrão para o link é ativado.

Resumo e conclusões

Na solução acima, usamos dupla verificação do trabalho adequado do link da Internet, uma vez verificando o gateway padrão do link principal e, adicionalmente, verificando a disponibilidade de hosts "distantes na Internet" alcançados a partir de links específicos.

Esta solução tem alguma limitação, caso um dos operadores mude o parâmetro padrão do gateway durante a renegociação do link, não podemos configurá-lo diretamente.

Neste caso você tem que usar um roteador separado para esta conexão como mostrado nos diagramas abaixo e usá-lo como um gateway.

Diagrama de failover de Mikrotik2 Clique para ampliar!
Diagrama de failover de Mikrotik2
Diagrama de failover de Mikrotik3 Clique para ampliar!
Diagrama de failover de Mikrotik3

Estou convencido que a solução pode ser melhorada e mais desenvolvida, os scripts que preparei podem ser escritos de forma diferente, mantendo o princípio principal da solução.

Para mais discussões sobre este tópico, por favor visite o nosso

Produtos do artigo

A sessão irá expirar em:
Segundos
Você será desconectado após a expiração da sessão
Selecione outro País ou região,para comprar no idioma que mais lhe convier
Nossa página contém arquivos com cookies. Saiba mais sobre esses arquivos e sobre como processamos seus dados pessoais, encontras em nossa.
Você está na página para o país / região:
Português (PT)
Selecione um país ou região diferente para fazer compras em um idioma que seja adequado para você.