Do ponto de vista técnico, a melhor solução para esse problema é ativar o IPv6 na sua rede. Quando o IPv6 está ativado, você precisa criar um registro AAAA para o seu domínio. Mantenha o registro A existente apontando para o IPv4 externo do roteador . Crie um registro AAAA apontando para o endereço IPv6 do servidor .
O IPv6 possui endereços suficientes para evitar o NAT; portanto, você não precisará do NAT hairpin para IPv6. E depois de ativar o IPv6 e criar registros AAAA, qualquer cliente que suporte o RFC 8305 tentará o IPv6 antes do IPv4. Isso significa que você também não precisa de NAT hairpin para IPv4, porque os clientes não o usarão.
Você ainda precisará do seu NAT IPv4 existente para conexões de saída e encaminhamento de porta para conexões de entrada até que a maior parte do mundo tenha habilitado o IPv6 também.
Também é mais rápido.
O uso do IPv6 oferece um desempenho melhor do que o NAT hairpin.
Com o hairpin NAT, seu cliente enviará um pacote através de um comutador para o roteador, o roteador executará duas rodadas de tradução e finalmente enviará o pacote através do comutador para o servidor. Pacotes do servidor para o cliente percorrerão todo o caminho ao contrário.
Com o IPv6, você evita o NAT; em vez disso, os pacotes são enviados diretamente pelo comutador entre cliente e servidor. Isso significa que, em uma viagem de ida e volta, você reduz o número de passagens pelo switch de 4 para 2 e evita 2 viagens pelo roteador e as 4 traduções que o roteador teria realizado. Isso se traduz em melhor desempenho.
Isso é verdade mesmo se você usar um switch incorporado na mesma caixa do roteador.
E se o ISP não tiver IPv6?
Se você estiver usando um provedor de serviços de Internet que não suporte IPv6, perguntarei se você deveria hospedar servidores nessa rede. Estas são minhas sugestões sobre o que fazer se o provedor de serviços de Internet não suportar atualmente o IPv6.
Primeiro diga ao ISP que você precisa do IPv6. E talvez lembrá-los de que o protocolo IPv6 existe há 20 anos e, portanto, eles estão atrasados em seu suporte. Se isso não for suficiente para o ISP levar você a sério, comece a procurar outros ISPs.
Se você encontrar um ISP com suporte ao IPv6, poderá executar os dois por um período de transição. No roteador conectado ao novo ISP, você pode desativar o IPv4 no lado da LAN e, em seguida, conectar os lados da LAN dos dois roteadores ao mesmo switch. IPv4 e IPv6 são dois protocolos independentes e, como tal, não é problema se essas conexões passam por roteadores diferentes. Como benefício colateral, ele oferece uma certa redundância se uma das conexões tiver uma interrupção.
Se você não conseguir encontrar um ISP com suporte ao IPv6, considere mudar o servidor para um recurso de hospedagem. Com um servidor em uma instalação de hospedagem, você fica menos dependente da localização geográfica e, por esse motivo, há mais concorrência entre os provedores, o que ajudará a garantir que exista um que atenda às suas necessidades.
Mover o servidor para um recurso de hospedagem não dará IPv6 a seus clientes, mas mover o servidor significa que você não precisa mais do NAT hairpin para alcançá-lo.
O que você não deve fazer
Não ative o IPv6 e crie registros AAAA se você não tiver uma maneira de rotear o tráfego IPv6. Se o seu provedor de serviços de Internet não suportar IPv6, mas você optar por ativar o IPv6 na sua LAN de qualquer maneira (talvez usando endereços RFC 4193) e criar registros AAAA, ele funcionará para clientes na sua LAN que acessam o servidor na sua LAN. Mas a comunicação entre sua LAN e o mundo externo tentaria primeiro o IPv6 (o que não funcionaria) e você confiaria em voltar ao IPv4, que na melhor das hipóteses é um pouco mais lento ou, na pior das hipóteses, não acontece.