NAT: Uma história de amor e ódio
17/10/2023

Por Henri Alves de Godoy – Computer Network Analyst | Professor Ph.D. | IPv6 Evangelist
Em 1996, a Internet estava começando a se desenvolver no Brasil e a assinatura de um Provedor de Acesso à Internet, assim chamado, era por horas de conexão e o excedente em minutos conectados eram cobrados a parte na fatura de pagamento. A conexão de dava por meio de linha telefônica discada e cada usuário recebia um IP público em sua casa. Como normalmente um provedor tinha no começo em média 30 linhas telefônicas, era necessário apenas uma pequena faixa ou bloco de endereços IP público. Era tudo perfeito e normal, tínhamos uma identificação do usuário muito fácil e o registro do IP pelo log do tacacs ou radius. Algumas brincadeiras saudáveis de acesso remoto (abrir e fechar o CD-ROM do usuário), utilizando o NetBus e BackOrifice ou até um Ping da Morte, eram possíveis, pois cada usuário conectado a Internet via modem discado recebia um IP acessível globalmente. Controles de acesso, firewalls e os conceitos de segurança de como filtrar e bloquear ameaças ainda estavam em desenvolvimento e estudos. Mas como se encontrava o IP do usuário conectado? Olha, tinha algumas formas, onde a mais simples era através do mIRC (programa cliente do IRC – Internet Relay Chat) e chamar o amigo para um chat privado. Logo depois era só executar um comando netstat e o IP remoto do usuário era descoberto.
Já mundialmente, o IETF (Internet Engineering Task Force) já discutia em 1991, que com o crescimento da Internet, a exaustão dos endereços IPv4 era iminente, com data prevista para o fim do ano de 1994. Como solução rápida, adotou-se o CIDR (Classless Inter-Domain Routing) para poder quebrar em sub-redes agora as atribuições de classes de IP (A, B, C) visando distribuir em blocos menores e para atender de forma otimizada os que solicitavam IP para suportar o crescimento da Internet. Com isso foi possível dar um folego para o IPv4, porém não foi suficiente.
Durante a administração do Provedor de Internet onde trabalhei, tínhamos um bloco /24 de IPv4 cedido pela Embratel. Metade eram destinados aos usuários comerciais discados e a outra metade para uso administrativo e servidores da Faculdade onde abrigava o provedor. Vieram então os laboratórios de informática, aumento das linhas discadas e o crescimento de servidores e do corpo administrativo de funcionários da Faculdade. Pronto, não tínhamos mais endereços IPv4 disponíveis para suportar esse crescimento.
Em paralelo a isso, com o crescimento da Internet além das expectativas, uma RFC 1918 foi publicada em 1996 com “Boas Práticas da Internet” definindo o conceito de IP privado. A Internet Assigned Numbers Authority (IANA) reservou três blocos do espaço de endereço IP para as redes privadas descrito na Figura 1.

A ideia era inicialmente preservar ou utilizar os endereços IP públicos apenas em hosts que necessitavam de um acesso externo ou global, na tentativa de prolongar a vida útil do endereço IPv4. Hosts que acessavam outros hosts de uma mesma rede interna, serviços locais, impressoras, compartilhamento de arquivos, agora poderiam ter números IP privados. Até aí, a definição de rede privada e pública (interna e externa) estava bem descrita e o dispositivos pertencentes a cada rede também. Foi então que a preguiça dominou entre nós mesmos profissionais de redes e administradores, pois alterar uma configuração de IP, DNS, Gateway, quando um host privado agora precisava de uma conexão externa (IP público) se tornava uma ação muito trabalhosa e não muito prática.
Surgiu então a maravilhosa ideia de facilitar a vida de todos, criando uma técnica de traduzir e rotear os endereços IP pertencentes a uma rede interna (privado) para poder acessar uma rede externa (publica) de forma transparente e vice-versa, sem alterar as configurações dos hosts. Foi assim que a terminologia NAT (Network Address Translation) surgiu sendo descrita na RFC 2663 em 1999. O foco do artigo não é discutir profundamente os tipos de NAT existentes, mas os mais comuns que utilizamos são: NAT de saída (Masquerade), NAT de portas (NAPT), NAT bidirecional. Temos vários sabores para todos os gostos. Um exemplo de um NAT básico podemos ver na Figura 2.
(Acesso livre, não requer assinatura)

Estava aí a solução para o meu problema na época e de muitos provedores de acesso à Internet que com a chegada e o crescimento exponencial dos usuários de banda larga ADSL e logo depois os aparecimentos de provedores via Rádio, seria impossível atribuir, como antes, IP públicos para todos os clientes finais.
Muitos destacam vantagens do uso do NAT. Algumas bem polêmicas que já foram palcos de discussões bem calorosas, que envolvem a segurança da rede (obscuridade) e aumento dela por não estar em contato direto com o mundo externo. Deixe seus comentários.
A verdade é que com o NAT ficou muito fácil e caiu no gosto de muita gente, com uma receita mágica perfeita, utilizando os proxies Squid e os redirecionamento e mapeamentos de IP/Porta com IPchains e IPtables no Linux. Passamos já mais de 20 anos utilizando NAT e essa facilidade conquistou nosso coração de uma forma automática hoje que não conseguimos viver sem. Nos viciamos tanto com essa prática que muitos agora tem dificuldade de largar.
As opiniões expressas pelos autores deste blog são próprias e não refletem necessariamente as opiniões de LACNIC.
Que relato maravilhoso, professor. Muito obrigado por compartilhar a sua história e um pedacinho da história da internet. Trabalho com investigação de autoria digital e confesso que é muito frustrante quando recebo um endereço IPv4 para identificar. É como percorrer todo um caminho e terminar num beco sem saída rs. Enfim, aguardamos a adoção irrestrita do IPv6!! Obrigado e abraços.
Obrigado Renan, fico feliz que foi útil em seu trabalho o artigo. Realmente, o IPv6 também nos brinda com uma possibilidade de identificação única do usuário e isso facilita muito a auditoria. Abraços !