A resposta depende da sua utilidade. Se você usar apenas http para se comunicar com o servidor em sua lan interna (por nome público), poderá alterar o comportamento com base na porta. Você também pode emitir um redirecionamento de sua lâmpada local com base no endereço IP de origem, por exemplo. (por exemplo, se tiver o endereço de origem como gateway externo, ele poderá redirecionar a solicitação para o endereço IP interno). Isso não lhe traria o mapeamento de nomes.
Mesmo assim, parece que há um erro de configuração no encaminhamento de porta no roteador. Não estou falando de hairpinning, que meus roteadores também não suportam, mas eu uso o encaminhamento de porta e posso me conectar a servidores internos de dentro ou fora de nossa lan, roteando através do domínio externo / interface. por exemplo. Eu tenho uma entrada DNS home.domain.com que aponta para a interface wan do roteador. Independentemente de eu estar dentro ou fora, as solicitações para home.domain.com vão para a interface wan e, em seguida, redirecionam a porta para o servidor de destino correto. Isso ainda é indireto em alguns aspectos, mas funciona, então deve funcionar para você também.
Também é uma questão de quantos outros servidores fornecem a porta / serviço dentro de sua rede. É apenas o único?
Por fim, também considero esse problema de vez em quando, pois quero uma política de nome de host que dependa da rede à qual estou conectado também. Talvez uma opção fácil seja {(a) escrever um script agendador (se você estiver no Windows) ou (b) adicionar um script ao ifup / ifcfg} que pinga o host linux específico ou outros ativos conhecidos dentro da LAN e, em seguida, define o valor dos hosts é baseado nele. Não é tão elegante quanto rodar seu próprio servidor DNS com suas próprias regras internas (o que, a propósito, pode ser igualmente fácil de lidar, já que o dhcp pode fornecer o servidor DNS interno da LAN.
Talvez não esteja funcionando para você porque você está usando o redirecionamento de IP para seu nome de domínio, em vez de DNS dinâmico? Por exemplo, nosso IP público é dinâmico, por isso, meus servidores internos atualizam periodicamente meu sub / domínio dnsmadeeasy com o endereço IP externo / público. Em seguida, a pesquisa do nome do host segue direto para o endereço IP correto e não é redirecionada para lá.