Em ambientes de redes corporativas ou em conexões críticas, a estabilidade da conexão VPN é uma prioridade. Para garantir alta disponibilidade e evitar quedas, uma das melhores práticas é utilizar múltiplos gateways (GW), configurando roteamento dinâmico ou estático para implementar um mecanismo de failover robusto. Este post explora como implementar essa solução de forma técnica e eficiente.
1. Arquitetura de Múltiplos Gateways
Quando utilizamos múltiplos gateways, estamos criando redundância na rede. Se o gateway primário falhar, o tráfego é redirecionado automaticamente para o secundário, garantindo a continuidade da VPN. O processo de failover pode ser feito de duas maneiras: usando roteamento estático ou dinâmico.
- Roteamento Estático: Configura-se rotas fixas para os gateways, sem considerar a “inteligência” da rede. Isso significa que, para falhas, é necessário alterar manualmente as rotas ou configurar um script para alterar essas rotas automaticamente.
- Roteamento Dinâmico: Protocólos como OSPF ou BGP são utilizados para permitir que a rede decida automaticamente a melhor rota com base em métricas e disponibilidade de link.
2. Implementação de Failover com Roteamento Estático
Com a utilização de múltiplos gateways, o roteamento estático pode ser ajustado para permitir o failover automático. Abaixo, apresentamos um exemplo de configuração usando ip route no Linux, onde definimos duas rotas com métricas diferentes para garantir o redirecionamento do tráfego em caso de falha do gateway principal.
Exemplo de Configuração de Roteamento Estático:
# Rota padrão para o Gateway principal com menor métrica
ip route add default via 192.168.1.1 dev eth0 metric 100
# Rota alternativa para o Gateway secundário com maior métrica
ip route add default via 192.168.2.1 dev eth0 metric 200
Nessa configuração, o tráfego será direcionado ao 192.168.1.1 até que haja uma falha. Se o gateway primário ficar indisponível, a rede irá automaticamente começar a usar 192.168.2.1.
3. Failover com Roteamento Dinâmico (OSPF)
Para redes maiores e mais complexas, o uso de protocolos de roteamento dinâmico como OSPF oferece maior flexibilidade e eficiência. O OSPF irá redistribuir as rotas automaticamente, ajustando-se em tempo real à falha de um gateway.
Exemplo de Configuração OSPF no MikroTik:
# Habilitar OSPF
/routing ospf instance set [find default=yes] router-id=1.1.1.1
/routing ospf area add name=backbone area-id=0.0.0.0
/routing ospf interface add interface=ether1 network-type=broadcast
# Definir as redes que serão propagadas
/routing ospf network add network=192.168.0.0/24 area=backbone
Com essa configuração, os gateways secundários serão automaticamente propagados e o roteamento será ajustado em tempo real conforme a topologia da rede muda.
4. Implementando VPN com Múltiplos Gateways
Em uma configuração VPN, o failover pode ser implementado com o uso de múltiplos gateways de internet para garantir que, caso o gateway principal de acesso à VPN falhe, o tráfego será redirecionado sem interrupções.
Exemplo com OpenVPN e iptables:
- Configuração da VPN: Configure o servidor OpenVPN para usar o gateway principal, mas adicione a configuração para fazer o redirecionamento caso o gateway falhe.
# Servidor OpenVPN configurado para Gateway 1
push "redirect-gateway def1"
- Roteamento via iptables: Em um sistema Linux, podemos usar
iptables
para forçar que o tráfego da VPN passe pelo gateway desejado, utilizando regras para redirecionar o tráfego de forma automática.
# Criar uma tabela de roteamento para a VPN
ip rule add from 10.8.0.0/24 table 100
ip route add default via 192.168.1.1 table 100
# Forçar tráfego VPN para o gateway secundário em caso de falha
ip route add default via 192.168.2.1 table 100
Com essas regras, a VPN será automaticamente redirecionada para o gateway secundário se o principal falhar.
5. Monitoramento e Failover Dinâmico
A monitorização da disponibilidade dos gateways é fundamental para garantir que a troca entre eles ocorra apenas quando necessário. Ferramentas como Keepalived ou scripts customizados de ping podem ser utilizados para monitorar os gateways e alterar as rotas automaticamente.
Exemplo com Keepalived:
# Configuração de Keepalived para monitorar a disponibilidade de gateways
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
192.168.1.100
}
}
O Keepalived pode ser usado para monitorar a falha de um gateway e promover automaticamente o gateway de backup.
Conclusão
A configuração de múltiplos gateways com failover dinâmico ou estático é uma estratégia poderosa para garantir a alta disponibilidade em conexões VPN. Ao implementar protocolos de roteamento dinâmico como OSPF ou BGP, ou com roteamento estático e monitoramento de falhas, podemos construir uma infraestrutura de rede resiliente, onde a VPN permanece estável, mesmo em caso de falhas nos gateways. Ao mesmo tempo, o uso de VPNs e failover pode ser controlado com ferramentas como OpenVPN, iptables e Keepalived, oferecendo soluções robustas para ambientes corporativos críticos.