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.
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.
Será que existe tratamento? Precisamos de um grupo de NAT Anônimos do Brasil?
Sim, existe. O tratamento e cura se chama IPv6. Estamos tendo a primeira chance real de voltarmos na época da primeira e única migração de um protocolo de nível mundial que ocorreu em 1983 (40 anos). Com a quantidade de endereços IPv6 não há mais necessidade de economia de endereços e voltaremos na época de 1996, onde cada usuário recebia em casa um endereço público, agora chamado global.
Mas pera aí, a fase de transição para o IPv6 está usando NAT, muitos me perguntam, então estamos na mesma. Viu só como não temos como livrar desse vício. A tradução existente nos mecanismos de transição existentes, por exemplo: NAT64, 464XLAT, SIIT-DC são necessários, assim como foram necessários em 1996. Porém, sabemos agora que temos uma saída, uma luz no fim do túnel e podemos aproveitar tudo o que aprendemos (ou não) nesses mais de 20 anos de NAT, para entender que agora é possível devolver a conectividade fim-a-fim aos usuários finais na Internet.
Portanto, não devemos nos acostumar por um longo período de dependência também das ferramentas de transição para o IPv6 e começarmos a pensar num mundo somente com IPv6 nos serviços, aplicações, jogos on-line, streaming o mais cedo possível. Quanto mais rápido tomamos o remédio chamado IPv6 e nós tratamos e prevenimos contra esse vício chamado NAT, mais cedo teremos nossa saúde de volta, podendo dar testemunhos da libertação e cura desse mal.
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.