Configurar VyOS como Gateway com Failover

10 min de leitura Infraestrutura
Configurar VyOS como Gateway com Failover

VyOS é uma distribuição Linux de código aberto baseada em Debian, projetada especificamente para roteamento e firewalling. Diferente de firewalls proprietários que cobram licenças caras por funcionalidades avançadas, VyOS oferece recursos empresariais completos, incluindo alta disponibilidade, balanceamento de carga e failover automático, sem custos adicionais. Este tutorial detalha como configurar um VyOS para atuar como gateway principal da sua infraestrutura, garantindo continuidade das operações mesmo em caso de falha na conexão primária com a internet.

Pré-requisitos e Topologia de Rede

Para implementar esta solução, você precisará de dois links de internet distintos (por exemplo, fibra óptica principal e backup 4G/5G ou uma segunda linha dedicada). Ambos os links devem estar conectados às interfaces de entrada do seu servidor VyOS. A topologia lógica segue o padrão clássico de borda:

  • WAN1 (Primária): Interface eth0 (ou pppoe0, dependendo do tipo de conexão).
  • WAN2 (Backup): Interface eth1.
  • LAN: Interface eth2 ou eth3, configurada com um IP estático e servidor DHCP.

O objetivo é que todo o tráfego de saída utilize a WAN1 enquanto ela estiver saudável. Caso o monitoramento detecte falha, o roteamento será alterado automaticamente para a WAN2, mantendo a conectividade dos dispositivos na LAN. Ao restaurar a conexão principal, o sistema pode ser configurado para reverter ou permanecer no link secundário, dependendo da sua política de negócios.

1. Acesso e Configuração Inicial do Sistema

O VyOS utiliza uma interface de linha de comando (CLI) hierárquica baseada em Junos, o que a torna poderosa mas exige atenção à sintaxe. Você pode acessar o sistema via console serial ou SSH. Após fazer login, entre no modo de configuração executando:

vyos@vyos:~$ configure

Todas as alterações devem ser feitas dentro deste contexto. Para sair e aplicar as configurações, use commit seguido de save. O comando commit valida a configuração e a aplica ao running config, enquanto o save persiste as alterações no disco para que elas sobrevivam a reinicializações.

2. Configuração das Interfaces de Rede

A primeira etapa é definir os endereços IP nas interfaces físicas. Vamos assumir que a WAN1 recebe um IP público via DHCP e a WAN2 também, embora você possa usar IPs estáticos se seu provedor fornecer.

Configurando a Interface LAN (eth2)

A interface de rede local deve ter um IP fixo para atuar como gateway dos seus clientes. Vamos utilizar o range 192.168.1.0/24.

set interfaces ethernet eth2 address 192.168.1.1/24
set interfaces ethernet eth2 description 'Rede Local'

Configurando a WAN Primária (eth0)

Se sua conexão for PPPoE (comum em provedores residenciais), a configuração muda ligeiramente. Para conexões Ethernet simples com DHCP:

set interfaces ethernet eth0 address 200.200.200.10/29
set interfaces ethernet eth0 description 'Link Principal'

Se for PPPoE, substitua a linha de address por:

set interfaces pppoe eth0 username 'seu_usuario@provedor.com'
set interfaces pppoe eth0 password 'sua_senha'

Configurando a WAN Backup (eth1)

Da mesma forma, configure o segundo link:

set interfaces ethernet eth1 address 200.200.200.20/29
set interfaces ethernet eth1 description 'Link Backup'

3. Definição de Rotas Estáticas e Métricas

O coração do failover no VyOS reside nas rotas estáticas. O roteador precisa saber para onde enviar o tráfego. Definimos duas rotas padrão (default route): uma para a WAN1 com métrica baixa e outra para a WAN2 com métrica alta.

A métrica determina a prioridade da rota. Quanto menor o número, mais prioritária é a rota. No Linux/VyOS, se duas rotas apontam para o mesmo destino (0.0.0.0/0), o sistema escolhe a de menor métrica.

# Rota Primária - Métrica 10 (Alta Prioridade)
set protocols static route 0.0.0.0/0 next-hop 200.200.200.9 priority 10

# Rota Backup - Métrica 50 (Baixa Prioridade)
set protocols static route 0.0.0.0/0 next-hop 200.200.200.29 priority 50

Nota: Os endereços 200.200.200.9 e 200.200.200.29 são exemplos de gateways fornecidos pelos provedores. Você deve substituí-los pelos IPs reais do gateway de cada link.

4. Implementação do Failover com Monitoramento (BFD ou ICMP)

Simplesmente existir uma rota não garante que o link está funcionando. O VyOS precisa monitorar a saúde do link para remover a rota principal da tabela de roteamento quando ela falhar. Existem duas abordagens principais:

  1. Monitoramento ICMP (Ping): Método clássico, simples e eficaz.
  2. BFD (Bidirectional Forwarding Detection): Protocolo mais rápido, usado para detecção de falhas em milissegundos.

Para este tutorial, utilizaremos o monitoramento ICMP via monitor, que é nativo e fácil de configurar no VyOS moderno.

Configurando a Monitoração na WAN Primária

Vamos instruir o VyOS a pingar um servidor DNS público (como o Google 8.8.8.8) através do link principal. Se o ping falhar por três vezes consecutivas, a rota será removida.

# Define o host para monitoramento
set protocols static route 0.0.0.0/0 next-hop 200.200.200.9 monitor-interface eth0

# Alternativamente, você pode usar um ping específico se o link tiver NAT complexo:
set protocols static route 0.0.0.0/0 next-hop 200.200.200.9 monitor-host 8.8.8.8

Para ajustar a sensibilidade do monitoramento (intervalo e contagem de falhas), use:

set protocols static route 0.0.0.0/0 next-hop 200.200.200.9 monitor-interval 5
set protocols static route 0.0.0.0/0 next-hop 200.200.200.9 monitor-fail-count 3

Isso significa: "Verifique a cada 5 segundos. Se falhar 3 vezes seguidas, considere o link morto."

Configurando a Monitoração na WAN Backup

O mesmo processo deve ser aplicado ao link de backup para garantir que, se ambos caírem, o sistema saiba disso, embora o failover dependa principalmente da detecção na primária.

set protocols static route 0.0.0.0/0 next-hop 200.200.200.29 monitor-host 8.8.8.8

5. NAT (Network Address Translation) e SNAT

Para que os dispositivos da LAN acessem a internet, é necessário realizar NAT. No VyOS, configuramos o NAT dinâmico (SNAT) para mascarar o IP privado dos clientes com o IP público do link de saída.

Como temos dois links de saída, precisamos de duas regras de NAT ou uma regra inteligente que se adapte à rota ativa. A maneira mais robusta é usar NAT por interface.

NAT para a WAN Primária (eth0)

set nat source rule 10 description 'NAT para Link Principal'
set nat source rule 10 outbound-interface eth0
set nat source rule 10 source address 192.168.1.0/24
set nat source rule 10 translation masquerade

NAT para a WAN Backup (eth1)

set nat source rule 20 description 'NAT para Link Backup'
set nat source rule 20 outbound-interface eth1
set nat source rule 20 source address 192.168.1.0/24
set nat source rule 20 translation masquerade

Essa configuração garante que, independentemente de qual rota está ativa no momento (devido ao failover), o tráfego de saída será traduzido corretamente para o IP do link correspondente.

6. Firewall e Segurança Básica

Um gateway sem firewall expõe sua rede interna a ameaças. Vamos aplicar uma política padrão de rejeição no WAN-INPUT e permitir o tráfego de retorno (ESTABLISHED/RELATED).

# Política padrão para input na WAN
set firewall global-name default-policy-in ipv4 drop
set firewall global-name default-policy-out ipv4 accept
set firewall global-name default-policy-forward ipv4 drop

# Regra para permitir tráfego estabelecido retornando
set firewall name WAN-IN rule 10 description 'Permitir tráfego de retorno'
set firewall name WAN-IN rule 10 state established enable
set firewall name WAN-IN rule 10 state related enable
set firewall name WAN-IN rule 10 action accept

# Regra para bloquear tudo o mais
set firewall name WAN-IN rule 999 description 'Bloquear demais'
set firewall name WAN-IN rule 999 action drop

Aplique essa política de firewall às interfaces WAN:

set interfaces ethernet eth0 firewall in name WAN-IN
set interfaces ethernet eth1 firewall in name WAN-IN

7. Aplicando e Verificando a Configuração

Agora que todas as diretrizes foram inseridas, precisamos aplicar as mudanças. No shell do VyOS:

commit
save
exit

O sistema validará a sintaxe. Se houver erros, ele informará onde estão. Após o commit, o roteamento será atualizado instantaneamente.

Verificando o Status

Para confirmar que as rotas estão instaladas corretamente, use o comando:

show ip route

Você deve ver duas entradas para 0.0.0.0/0. A de métrica 10 estará marcada como ativa (geralmente com um asterisco ou destacada), e a de métrica 50 estará em standby.

Para verificar o status do monitoramento:

show protocols static route

Isso mostrará se o monitor ICMP está ativo e quantas falhas foram detectadas.

8. Testando o Failover

A validação prática é essencial. Para simular uma falha na WAN primária, você pode:

  1. Desconectar fisicamente o cabo da interface eth0.
  2. Parar o serviço DHCP se estiver usando DHCP na WAN.
  3. Configurar uma regra de firewall que bloqueie ICMP para 8.8.8.8 na eth0 temporariamente (apenas para teste).

Enquanto isso, execute um ping contínuo de um computador na LAN:

ping 8.8.8.8 -c 100

Você observará que, ao cair a primária, haverá uma breve interrupção (geralmente entre 5 e 15 segundos, dependendo da configuração de interval e fail-count). Após esse período, os pacotes começarão a responder novamente, mas agora trafegando pela WAN2. Quando a WAN1 for reconectada, o VyOS detectará o retorno do link e, por padrão, migrará o tráfego de volta para a rota de menor métrica (WAN1).

Dicas Avançadas e Manutenção

Sincronização de Configuração: Se você planeja ter um segundo VyOS em modo HA (High Availability), lembre-se de usar o comando system high-availability sync para replicar a configuração entre os nós.

DNS Dinâmico: Se seus links usam IPs públicos dinâmicos, integre o VyOS com serviços como DynDNS ou Cloudflare API para atualizar os registros DNS automaticamente após mudanças de IP.

Logs e Monitoramento: Ative o syslog para enviar logs para um servidor central. Isso é crucial para auditoria e troubleshooting em ambientes de produção. Verifique os logs em /var/log/messages ou configure o envio remoto via set system syslog host ....

Com esta configuração, seu VyOS está pronto para operar como um gateway robusto, resiliente e profissional, oferecendo a confiabilidade necessária para empresas que não podem se dar ao luxo de ficar offline. Lembre-se sempre de fazer backups regulares da configuração via system config-management commit-hooks ou exportação manual.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000