Engenharia de redes para provedores de todo o Brasil e empresas de Santa Catarina.Engenharia de redes para provedores e empresas

Passo a passo · CGNAT

Como deixar CGNAT redundante: passo a passo para provedores

Como deixar CGNAT redundante: monte dois equipamentos de NAT, cada um com o seu próprio pool de IPs públicos, ligados por roteamento dinâmico que desvia os assinantes sozinho quando um para. Os dois mandam o registro para o mesmo servidor, com relógio sincronizado, para o ofício continuar achando o assinante depois da troca.

Resumo

  • Redundância de CGNAT é roteamento, faixas de IP e registro pensados juntos, não só um segundo aparelho.
  • Cada equipamento precisa de um pool público próprio, para o IP do ofício dizer qual deles fez a tradução.
  • O reserva tem que aguentar a base inteira no pico, senão a troca vira uma segunda queda.
  • O registro dos dois vai para o mesmo servidor, com o relógio sincronizado por NTP e o nome de cada equipamento.

Como deixar CGNAT redundante: o que decidir antes

Antes de configurar, decida o arranjo, confira a capacidade do reserva e separe faixas e pools entre os dois equipamentos. Essas três decisões definem se a troca funciona e se o registro continua valendo.

O CGNAT é o único ponto por onde passa todo o IPv4 dos assinantes. Quando ele para, a borda e o concentrador seguem no ar, as sessões PPPoE continuam de pé e mesmo assim ninguém navega, o que confunde o suporte nos primeiros minutos.

A alta disponibilidade de CGNAT resolve isso com um segundo caminho pronto. O passo a passo abaixo é a referência que usamos para pensar o projeto; cada plataforma tem a sua forma de executar cada etapa.

O que muda em cada peça do CGNAT quando ele fica redundante
PeçaCom um equipamentoCom dois equipamentos
Saída para a bordaRota estática fixaRoteamento dinâmico que some quando o equipamento cai
Pool de IPs públicosUm bloco sóUm bloco por equipamento, sem sobreposição
CapacidadeDimensionada para a baseCada um aguenta a base inteira no pico
RegistroDisco ou servidor do próprio NATServidor único, com o nome de cada equipamento
AtualizaçãoSempre adiadaUm equipamento por vez, com o outro segurando a base

Por que ligar um segundo equipamento não basta

Um segundo CGNAT desligado na prateleira, ou ligado com a mesma configuração do primeiro, não é redundância. Sem roteamento que mude sozinho, alguém precisa acordar e trocar cabo ou rota, e a queda dura o tempo dessa pessoa chegar.

Com a mesma configuração, o problema é pior: dois equipamentos traduzindo para o mesmo IP público geram conflito de portas e um registro em que a mesma porta aparece duas vezes no mesmo minuto.

CGNAT com dois equipamentos, como dividir faixas e pools?

Num CGNAT com dois equipamentos, cada um anuncia à borda apenas o seu pool público, e o concentrador aprende por roteamento qual deles usar. Quando um cai, as rotas dele somem e o tráfego vai sozinho para o outro.

Na prática, o pool público é dividido ao meio. Com um bloco 203.0.113.0/24, o CGNAT-A traduz para 203.0.113.0/25 e o CGNAT-B para 203.0.113.128/25; a faixa interna 100.64.0.0/10 continua a mesma, porque o assinante não muda de endereço quando troca de equipamento.

O que acontece numa falha do CGNAT-A num par com troca por roteamento
  1. Normal

    A traduz, B espera ou divide

    O concentrador prefere o CGNAT-A pelo custo da rota, e a borda conhece os dois pools.

  2. Falha

    O CGNAT-A para

    O vizinho de roteamento deixa de responder e as rotas anunciadas pelo A saem da tabela.

  3. Troca

    B assume a base

    O concentrador passa a enviar tudo ao B, que traduz para o pool 203.0.113.128/25.

  4. Volta

    A retorna com atraso

    O A só recebe tráfego de novo depois de estável, para não causar uma segunda troca.

As conexões abertas no A se perdem na troca, a menos que a plataforma sincronize sessões. Para o assinante, o efeito é a página que recarrega e o jogo que reconecta.

Ativo e reserva ou ativo e ativo?

Em ativo e reserva, um equipamento faz todo o trabalho e o outro só assume na falha, o que simplifica o registro e o diagnóstico. Em ativo e ativo, cada um atende uma parte da base, e a falha afeta só metade dos assinantes.

Um jeito simples de fazer ativo e ativo é dividir por concentrador: o concentrador 1 prefere o CGNAT-A e o concentrador 2 prefere o CGNAT-B, só invertendo o custo das rotas. A regra de capacidade não muda, porque na falha o sobrevivente recebe tudo.

Passo a passo da configuração de referência

A configuração segue seis passos, da capacidade ao teste de falha, sem desligar o equipamento que já está em produção. O segundo CGNAT entra ao lado do primeiro e só recebe assinantes depois de conferido.

  1. Capacidade: confira se o novo equipamento aguenta o pico da base inteira em sessões, portas e CPU.
  2. Pool próprio: reserve para ele metade do bloco público, ou um bloco novo, sem sobrepor o do primeiro.
  3. Roteamento: ligue OSPF ou BGP entre os dois CGNATs, a borda e os concentradores, no lugar das rotas estáticas.
  4. Anúncios: cada CGNAT anuncia o seu pool para a borda e a rota padrão para os concentradores, com custos diferentes.
  5. Registro: os dois enviam o registro ao mesmo servidor, com nome próprio e relógio sincronizado.
  6. Teste: numa janela, desligue o principal, meça o tempo de troca e faça uma consulta de ofício simulada.
Referência em RouterOS 7 para o CGNAT-A de um par ativo e reserva [CONFIRMAR na versão do equipamento]
/system identity set name=cgnat-a
/ip route
add dst-address=203.0.113.0/25 blackhole comment="pool A anunciado a borda"
/routing ospf instance
add name=ospf-nat router-id=198.51.100.1 redistribute=static \
    originate-default=if-installed
/routing ospf area
add name=area0 instance=ospf-nat area-id=0.0.0.0
/routing ospf interface-template
add area=area0 interfaces=para-borda cost=10
add area=area0 interfaces=para-concentrador cost=10
/ip firewall nat
add chain=srcnat src-address=100.64.0.0/10 out-interface-list=WAN \
    action=src-nat to-addresses=203.0.113.0/25 comment="trocar pelas regras de portas"
# No CGNAT-B: name=cgnat-b, pool 203.0.113.128/25,
# router-id=198.51.100.2 e cost=20 em para-concentrador

A rota blackhole do pool existe só para ser anunciada; se o CGNAT-A cair, o anúncio some junto e a borda para de mandar a volta para ele. A regra de NAT do exemplo é simplificada, e na rede real entram as regras de portas por bloco ou determinísticas.

Quer o segundo CGNAT montado e testado?

Na alta disponibilidade de CGNAT, um Especialista confere a capacidade do reserva, liga a troca por roteamento e desliga o principal numa janela para medir a troca.

Pedir proposta de alta disponibilidade de CGNAT

Na prática: o teste de falha em janela

O teste é a única prova de que a redundância existe. Faça numa madrugada combinada, com alguém acompanhando o monitoramento e um assinante de teste navegando.

  • Antes: anote sessões, CPU e portas em uso nos dois equipamentos.
  • Durante: desligue a interface do principal e cronometre até o assinante de teste voltar a navegar.
  • Conferência: veja se a borda deixou de anunciar o pool do principal e se o reserva aguentou a carga.
  • Volta: religue o principal e confirme que ele só reassume depois do atraso configurado.

Quem já usa VRRP na borda vai reconhecer a lógica de prioridade e atraso, explicada no guia de configuração de VRRP; no CGNAT, a troca por roteamento costuma ser mais limpa, porque o pool acompanha o equipamento.

Como manter logs com CGNAT redundante

Para manter logs com CGNAT redundante, cada equipamento usa um pool público próprio, manda o registro ao mesmo servidor e tem o relógio sincronizado. Assim o IP do ofício aponta o equipamento, e o horário aponta a linha certa.

Com pools separados, a primeira pergunta da consulta se responde sozinha: um ofício com IP de 203.0.113.0/25 vai para o registro do CGNAT-A, e um com IP de 203.0.113.128/25 vai para o do B. Se os dois usassem o mesmo pool, seria preciso olhar os dois registros e torcer para não haver a mesma porta nos dois.

O que o registro precisa guardar em cada forma de dividir portas num par de CGNAT
Forma de dividir portasO que guardarCuidado na troca
Por blocosCada bloco entregue, com equipamento, IP, portas e horárioO reserva gera blocos novos; os dois registros entram na busca
DeterminísticaA fórmula de cada equipamento e o registro das sessõesDocumentar a fórmula do reserva para a base inteira
DinâmicaCada conexão traduzidaVolume dobra no reserva durante a falha
Com sessões sincronizadasRegistro de quem criou a conexãoConexão migrada mantém IP e porta do equipamento original

O caso que mais engana é o NAT determinístico. O reserva precisa da sua própria fórmula para a base inteira, e essa fórmula precisa estar guardada com a do principal, senão a consulta do período da falha não fecha. O guia de NAT determinístico mostra a conta de cada fórmula.

Relógio e servidor único

Dois equipamentos com relógios diferentes por alguns segundos já bastam para a consulta apontar o assinante errado na hora da troca. Os dois devem usar as mesmas fontes de NTP, e o servidor de registro também.

O registro só no disco do próprio CGNAT se perde junto com ele. A guarda de logs de CGNAT recebe as linhas dos dois equipamentos num lugar só, e a regra de guarda dos registros de conexão segue o Marco Civil da Internet [CONFIRMAR na norma].

Erros comuns ao deixar o CGNAT redundante

Os erros mais comuns só aparecem no dia em que o principal cai, quando já não dá para corrigir com calma. Quase todos vêm de pular o teste de falha.

Evite

  • Usar o mesmo pool público nos dois equipamentos. A consulta de ofício fica ambígua e as portas colidem.
  • Comprar um reserva menor que o principal. Ele assume e trava no primeiro pico.
  • Manter rota estática para o CGNAT. A rota continua apontando para o equipamento parado.
  • Deixar o principal reassumir na hora em que volta. Um equipamento instável causa uma troca atrás da outra.
  • Guardar o registro só no disco de cada equipamento. Quando um morre, o registro morre junto.
  • Nunca testar a troca. A primeira falha real vira o teste, com a base inteira assistindo.

A redundância do CGNAT também depende do que está ao redor. Se o concentrador ou a borda forem únicos, a falha só muda de lugar; a alta disponibilidade de concentrador e a da borda fecham esse caminho.

Quando dar a redundância do CGNAT por pronta?

A redundância está pronta quando a troca foi testada com a base em produção e uma consulta de ofício do período da falha encontrou o assinante. Antes disso, ela é só um segundo equipamento ligado.

Marque o que já foi conferido no seu par de CGNAT

  • Cada equipamento tem pool público próprio, sem sobreposição.
  • O reserva aguentou a base inteira no pico durante o teste.
  • As rotas do equipamento desligado sumiram da borda e do concentrador.
  • O tempo de troca foi medido e anotado.
  • Uma consulta simulada do período da falha achou o assinante certo.
  • Existe alarme quando um dos dois equipamentos para.

Seis marcas indicam um par pronto para produção. Qualquer item vazio é o ponto onde a próxima falha vai aparecer, e vale corrigir antes da próxima atualização.

A Táquion Tech monta CGNAT redundante de forma remota, com faixas separadas, troca por roteamento, registro dos dois lados no mesmo servidor e teste de falha numa janela combinada. Quando o problema do momento é outro, como portas, câmeras ou bloqueio, o guia sobre CGNAT: como resolver separa cada caso.

Perguntas frequentes

CGNAT com dois equipamentos precisa sincronizar sessões?

Não precisa, mas sincronizar evita que as conexões abertas caiam na troca. Sem sincronização, o assinante perde as conexões do momento e reconecta em seguida, o que é aceitável para a maior parte da base.

Como manter logs com CGNAT redundante sem confundir equipamentos?

Dê um pool público próprio a cada equipamento e inclua o nome dele em cada linha enviada ao servidor. Assim o IP do pedido já indica qual registro consultar.

Quanto tempo o assinante fica sem navegar na troca?

Depende do tempo que o roteamento leva para perceber a falha, e com temporizadores padrão de OSPF isso pode passar de meio minuto [CONFIRMAR na versão do equipamento]. Com BFD ligado entre os vizinhos, a detecção cai para frações de segundo.

Dá para usar VRRP para deixar o CGNAT redundante?

Dá, quando os dois equipamentos ficam no mesmo segmento e o concentrador aponta para um gateway virtual. A troca por roteamento costuma ser preferida porque leva junto o anúncio do pool e funciona entre POPs.

O tráfego IPv6 também passa pelo par de CGNAT?

Não, o IPv6 sai sem tradução e depende da redundância da borda e do concentrador. Por isso, quanto mais tráfego em IPv6, menor o estrago de uma falha no CGNAT.

Thiago Manoel

Responsável técnico da Táquion Tech · Registro profissional [PREENCHER]

Mais de 15 anos em operações de rede, com gestão de infraestruturas de TI, administração de data centers e condução de equipes em migrações de TI e telecomunicações, com foco em alta disponibilidade e segurança.

A Táquion Tech é uma empresa de engenharia de redes de Balneário Camboriú (SC) que projeta, opera e dá suporte a redes de provedores de internet e de empresas.

Conheça a equipe da Táquion Tech

Fontes

  1. RFC 6888, Common Requirements for Carrier-Grade NATs (CGNs): requisitos de comportamento e de registro num CGNAT
  2. RFC 7422, mapeamento determinístico de endereços em CGNAT: fórmula que liga a porta pública ao endereço interno, usada para planejar o registro do reserva
  3. OSPF, documentação do RouterOS 7 (MikroTik): parâmetros de instância, área, modelo de interface e geração da rota padrão

Leia também sobre o assunto

Outros guias que costumam ajudar no mesmo tipo de problema.

  • BGP e roteamento

    Configuração de VRRP: guia prático para provedores

    Configuração de VRRP: é fazer dois roteadores dividirem um mesmo endereço de gateway, de modo que, se o principal cair, o reserva assume em poucos segundos. Os equipamentos atrás deles continuam usando o mesmo gateway e nem percebem a troca.

    11 min de leitura

  • IPv6 e CGNAT

    Configuração de NAT determinístico: guia prático para provedores

    Configuração de NAT determinístico: é programar o CGNAT para que cada endereço interno use sempre o mesmo IP público e a mesma faixa de portas, calculados por uma fórmula. Com a fórmula guardada, o provedor descobre quem usava um IP e uma porta em qualquer data sem manter uma linha de registro por conexão.

    10 min de leitura

  • IPv6 e CGNAT

    CGNAT como resolver: cada problema e a correção, para provedores

    CGNAT como resolver: primeiro descubra qual problema ele está causando, porque câmera sem acesso, IP bloqueado, falta de porta e ofício sem resposta têm correções diferentes. Quase tudo se resolve no próprio provedor, com IPv6 até a casa, ajuste do equipamento de NAT, registro completo e IP público só para quem precisa receber conexões.

    13 min de leitura

Tire o CGNAT da lista de pontos únicos de falha

Um Especialista monta o segundo equipamento, separa os pools, liga a troca por roteamento e desliga o principal numa janela para provar que a base continua navegando.

Falar com o André Comercial, no WhatsApp

Fale com a Táquion Tech

Quer um Especialista olhando a sua rede?

Deixe seus dados e um Especialista chama você no WhatsApp para entender o caso.

Um Especialista responde em até 45 minutos.

Pedido recebido. Protótipo: no site final, a pessoa vai para a página de obrigado e o pedido chega no WhatsApp ou e-mail da Táquion Tech.
Foto de Thiago Manoel
Thiago ManoelResponsável técnico