[MikroTik] Script VPN HA IPSec

Em ambientes onde a conectividade com sistemas remotos é essencial — como servidores ERP, bancos de dados ou aplicações hospedadas em nuvem — é fundamental ter um mecanismo de failover automático para conexões VPN. Este artigo apresenta um script para MikroTik RouterOS que realiza essa verificação e troca automática entre túneis IPsec (principal e backup), garantindo a continuidade do serviço.

📜 O Script: Verificação e Failover de VPN IPsec

O código abaixo pode ser adicionado ao seu roteador MikroTik. Ele executa uma verificação via ping em um host remoto e, em caso de falha, alterna para a VPN de backup automaticamente.

/system script
add name=Status_VPN_Monitor policy=read,write,test source={

    # Primeira verificação de conectividade
    :if ([/ping src-address=192.168.100.1 172.16.10.10 count=30 interval=2s] = 0) do={

        :log warning "Falha detectada na VPN_Principal. Alterando para a VPN_Backup..."

        /ip ipsec policy disable [find comment="VPN_Principal"]
        /ip route disable [find comment="VPN_Principal"]
        /ip ipsec policy enable [find comment="VPN_Backup"]

        :log warning "Aguardando 2 minutos para validar a VPN_Backup..."
        :delay 2m

        # Segunda verificação
        :if ([/ping src-address=192.168.100.1 172.16.10.10 count=30 interval=2s] = 0) do={

            :log warning "VPN_Backup ainda inacessível. Retornando para VPN_Principal..."

            /ip ipsec policy disable [find comment="VPN_Backup"]
            /ip route enable [find comment="VPN_Principal"]
            /ip ipsec policy enable [find comment="VPN_Principal"]

        } else={
            :log info "VPN_Principal voltou a responder."
        }

    } else={
        :log info "VPN_Principal está acessível. Nenhuma ação necessária."
    }
}

/system scheduler
add name=check-vpn interval=5m on-event="/system script run Status_VPN_Monitor"

💡 Resumo

IP no ScriptPapelO que usar no seu ambiente
192.168.100.1Origem do ping (MikroTik)IP da interface do MikroTik com saída para a VPN
172.16.10.10Alvo do ping (host remoto)IP de um servidor remoto confiável na VPN

⚙️ Como Funciona

  1. O script é executado a cada 5 minutos.
  2. Ele faz 30 tentativas de ping para o IP do sistema monitorado.
  3. Se o host estiver inacessível:
    • Desativa a política e rota da VPN principal.
    • Ativa a política da VPN de backup.
    • Aguarda 2 minutos e faz uma nova verificação.
  4. Se o host voltar a responder, mantém a VPN principal.
  5. Caso contrário, força nova tentativa com a principal, mantendo o log de eventos.

Benefícios

  • Evita falhas no acesso a sistemas críticos como ERP.
  • Alternância automática entre túneis VPN.
  • Logs informativos para auditoria e troubleshooting.
  • Totalmente integrado ao sistema MikroTik.

CATEGORIES:

Network

Comments are closed