02 - NAT (Comum vs Não Requerido)
video: https://youtu.be/... no frontmatter da nota.NAT no IPv4 (Comum) vs IPv6 (Não Requerido)
O tema do NAT (Network Address Translation) é o divisor de águas arquitetural entre o funcionamento da Internet baseada em IPv4 e a visão proposta pelo IPv6. Enquanto no IPv4 o NAT é uma peça onipresente e essencial para a manutenção da conectividade global, no IPv6 ele é projetado para se tornar obsoleto, restaurando o modelo original de comunicação direta.
A comparação entre "Comum" (IPv4) e "Não requerido" (IPv6) não é apenas técnica, mas filosófica: ela contrasta uma internet de "escassez e opacidade" com uma internet de "abundância e transparência".
1. NAT no IPv4: A Solução de Contingência
No universo IPv4, o NAT (e sua variante mais comum, o NAPT - Network Address Port Translation) é a regra, não a exceção. Ele foi introduzido inicialmente como uma solução temporária para adiar o esgotamento dos endereços IP (RFC 1631, 1994), mas tornou-se um componente estrutural permanente da internet moderna.
A. O Problema da Escassez
Com apenas 4,3 bilhões de endereços disponíveis no espaço de 32 bits, tornou-se impossível atribuir um endereço IP público único e roteável para cada dispositivo conectado à internet (computadores, celulares, tablets, IoT). O NAT resolve isso criando uma barreira lógica entre endereços privados (RFC 1918) e o espaço público.
B. Tipos de NAT
| Tipo | Descrição | Uso Típico |
|---|---|---|
| NAT Estático | Mapeia 1:1 IP interno ↔ IP público | Publicação de servidor interno |
| NAT Dinâmico | Mapeia IP interno para um IP público de um pool | Distribuição de IPs escassos |
| PAT / NAPT | Mapeia vários internos para 1 IP público via porta | Roteador doméstico, mais comum |
| CGN (Carrier-Grade NAT) | NAPT em larga escala operadora | ISPs com IPv4 esgotado (RFC 6598) |
| Twice NAT | Traduz origem E destino | Interconexão de redes sobrepostas |
| Hairpin NAT | Permite acesso interno ao IP público | Loopback para servidor próprio |
C. Funcionamento do NAPT
O dispositivo NAT (geralmente um roteador Wi-Fi doméstico ou um firewall corporativo) possui:
- Um endereço IP Público: A face visível para a internet.
- Múltiplos endereços IP Privados: A rede interna (RFC 1918) usando ranges como 192.168.x.x.
O NAT mantém uma tabela de estado dinâmica. Quando um dispositivo interno (192.168.1.50) acessa um servidor externo, o roteador altera o pacote:
- Source IP: Substitui o IP interno pelo seu IP público.
- Source Port: Substitui a porta origem por uma porta única (ex: 50001).
Quando a resposta volta, o roteador consulta sua tabela, vê que a porta 50001 pertence ao dispositivo interno e reenvia o pacote para 192.168.1.50.
D. Consequências Arquiteturais (Quebra do Fim-a-Fim)
O NAT é muitas vezes descrito como uma violação do Princípio End-to-End (RFC 3724):
- Opacidade: A internet não consegue ver os dispositivos internos. Eles ficam atrás de um "muro" de tradução.
- Dificuldade P2P: Aplicações ponto-a-ponto (como VoIP, BitTorrent ou jogos online) enfrentam dificuldades, pois um dispositivo externo não pode iniciar uma conexão para um dispositivo interno NAT sem técnicas complexas (como STUN, TURN, ICE ou UPnP).
- Complexidade: Protocolos que carregam endereços IP dentro do payload (como FTP ativo ou SIP) exigem ALGs (Application Layer Gateways) para reescrever o conteúdo dos dados, não apenas o cabeçalho.
- Estado: O roteador NAT mantém estado por conexão. Reinício, queda de energia ou esgotamento da tabela de estado derrubam todas as conexões ativas.
2. Configuração Prática de NAT
Linux — iptables (PAT/NAPT)
# Habilitar forward
echo 1 > /proc/sys/net/ipv4/ip_forward
# Masquerade: traduz tráfego da LAN (eth1) saindo pela WAN (eth0)
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
# Port forwarding: expor servidor web interno (8080 -> 80)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.1.10:8080
# Inspecionar tabela NAT
conntrack -L
Cisco IOS — PAT (Overload)
interface GigabitEthernet0/0
ip address 200.10.10.2 255.255.255.252
ip nat outside
!
interface GigabitEthernet0/1
ip address 192.168.1.1 255.255.255.0
ip nat inside
!
access-list 1 permit 192.168.1.0 0.0.0.255
ip nat inside source list 1 interface Gi0/0 overload
!
! Port forwarding (estático)
ip nat inside source static tcp 192.168.1.10 80 200.10.10.2 80 extendable
!
show ip nat translations
clear ip nat translation *
3. IPv6 e a Abolição do NAT: Retorno ao Fim-a-Fim
O IPv6 foi projetado com a premissa de que o NAT não é requerido. O espaço de endereçamento de 128 bits (3,4 × 1038 endereços) é tão vasto que a justificativa primária para o NAT (a conservação de endereços) desaparece. Cada grão de areia da Terra poderia receber 100 quatrilhões de endereços IPv6.
A. Endereçamento Público Global
Na arquitetura IPv6 ideal, cada interface de rede possui seu próprio endereço IP público e globalmente roteável.
- Transparência: Um dispositivo em qualquer lugar do mundo pode conectar-se diretamente a outro dispositivo, sem barreiras de tradução de endereço.
- Simplicidade: Roteadores no caminho apenas encaminham pacotes; eles não precisam manter tabelas de estado complexas de conexões que não lhes pertencem.
B. Facilidade de Configuração
Com o IPv6, o uso de SLAAC (Stateless Address Autoconfiguration, RFC 4862) permite que um dispositivo gere seu próprio IP baseado no prefixo anunciado pelo roteador. Sem a necessidade de gerenciar um pool de endereços privados escassos, a configuração de rede torna-se muito mais direta e menos propensa a conflitos IP.
C. Privacidade e Segurança de Endereços
Como cada host tem IP público, surgiu a preocupação com rastreabilidade (o IP muda pouco, permitindo tracking cross-site). As RFCs 4941 (Privacy Extensions) e 7217 (Stable Semantically Opaque Addresses) resolvem isso gerando endereços temporários rotativos, sem precisar de NAT.
4. Mudança de Paradigma de Segurança
Um equívoco comum é acreditar que o NAT é um recurso de segurança. Embora ele forneça, por padrão, um firewall que bloqueia conexões de entrada não solicitadas, essa não é a sua função primária, e sim um efeito colateral da tradução.
- IPv4 + NAT: A segurança é frequentemente derivada da obscuridade. Como o endereço interno é desconhecido, atacantes não podem alcançá-lo diretamente.
- IPv6 (Sem NAT): Como todos os endereços são públicos, a segurança não depende da ocultação do endereço. A segurança no IPv6 é implementada explicitamente por Firewalls Stateful que filtram o tráfego indesejado, independentemente da tradução de endereço.
- O IPv6 também tem suporte nativo e obrigatório para IPsec, que criptografa e autentica o tráfego, fornecendo segurança real na camada de rede, algo que o NAT muitas vezes dificulta no IPv4 (necessitando de NAT-T, RFC 3947).
5. Exceções no IPv6 (NAT66 e NAT64)
Embora o ideal seja "sem NAT", mecanismos de tradução ainda existem no mundo IPv6, mas com propósitos diferentes e geralmente como ferramentas de transição, não de arquitetura permanente:
- NAT66 (RFC 6296): É a tradução de um prefixo IPv6 para outro prefixo IPv6. É raro e geralmente usado apenas para trocar o prefixo do provedor de internet sem precisar reconfigurar a rede interna da empresa (N1:1, não conservação). Ele não é usado para conservar endereços.
- NAT64 (RFC 6146) + DNS64 (RFC 6147): É um mecanismo de tradução que permite que clientes apenas IPv6 se comuniquem com servidores apenas IPv4. É uma "ponte" para facilitar a transição entre as duas versões do protocolo durante o período de coexistência. O DNS64 sintetiza registros AAAA a partir de A, e o NAT64 traduz o pacote IPv6→IPv4 na fronteira.
- 464XLAT (RFC 6877): Combinação de CLAT (cliente) e PLAT (NAT64 operadora) que permite apps IPv4-only funcionarem em redes só IPv6. Usado em redes móveis (T-Mobile USA).
6. Impacto do NAT em Protocolos Específicos
| Protocolo | Problema com NAT | Solução |
|---|---|---|
| FTP ativo | Servidor inicia conexão de dados à porta do cliente | ALG FTP ou modo passivo |
| SIP / VoIP | SDP carrega IP no payload | ALG SIP, STUN, TURN, ICE |
| IPSec ESP | Hash AH quebra com NAT | NAT-T (RFC 3947), encapsula ESP em UDP 4500 |
| Kerberos | Inclui IP em tickets | Realm crossover / NAT traversal |
| BitTorrent | Peer externo não alcança peer interno | UPnP IGD, PCP (RFC 6887) |
| DNS | Respostas com IP interno exposto externamente | Split-DNS / DNS Views |
7. Boas Práticas em Ambientes NAT
- Documentar todas as traduções estáticas (port forwarding) — são pontos de exposição da rede interna.
- Monitorar tamanho da tabela de estado — esgotamento causa queda de novas conexões.
- Timeouts adequados — TCP 1h, UDP 5min, ICMP 30s (evita entradas zumbis).
- Não usar NAT como substituto de firewall — implementar filtragem stateful explícita.
- Em ambientes IPv6, preferir firewall stateful em vez de NAT66 — mantém rastreabilidade e evita quebra de IPsec.
8. Resumo Comparativo
| Aspecto | IPv4 (NAT Comum) | IPv6 (NAT Não Requerido) |
|---|---|---|
| Necessidade | Essencial (Escassez de endereços) | Desnecessário (Abundância) |
| Conectividade | Restrita (Quebra o modelo fim-a-fim) | Plena (Restaura o modelo fim-a-fim) |
| Estado do Roteador | Mantém tabelas de conexão complexas (Stateful) | Roteamento puramente Stateless |
| Segurança | Implícita (Obscuridade do endereço privado) | Explícita (Firewalls e IPsec) |
| Manutenção | Requer gestão de portas e ALGs | Gestão simplificada de endereços |
| P2P | Difícil (exige STUN/TURN/ICE) | Nativo (conexão direta) |
| Rastreabilidade | Obscura (1 IP para N dispositivos) | Forte (auditoria por host) |
| Latência | Maior (inspeção e reescrita) | Menor (encaminhamento puro) |
9. Conclusão
O NAT foi, paradoxalmente, a tecnologia que salvou o IPv4 do colapso prematuro e que simultaneamente atrasou a adoção do IPv6 (ao mascarar a urgência do esgotamento). Ao longo de três décadas, ele se incorporou a tal ponto à infraestrutura que muitos profissionais o confundem com um recurso de segurança. Com o IPv6, a arquitetura original é restaurada: cada dispositivo fala diretamente com cada dispositivo, e a segurança é tratada explicitamente por firewalls e criptografia, não pela obscuridade da tradução. Compreender essa transição é essencial para projetar redes modernas que coexistem com ambos os protocolos durante a longa migração para o mundo IPv6-only.