OK, vamos esclarecer alguma confusão aqui ...
Primeiro, não há exigência explícita em sua pergunta de que todos esses nomes sejam resolvidos para o mesmo endereço IP - portanto, você pode atribuir um bloco de endereços ao seu dispositivo de roteador, ter a configuração dos registros DNS para fornecer um único endereço IP. para um mapeamento do nome para o endereço IP e, em seguida, use DNAT (Destination Network Address Translation) para encaminhar o tráfego para dispositivos internos.Vou continuar supondo que você não tem a capacidade de lançar uma pilha de endereços IP no problema.
Em geral, para um protocolo arbitrário rodando dentro de TCP ou UDP (porque outros protocolos que rodam sobre IP não necessariamente possuem nenhum conceito de portas), você não pode fazer o que quer fazer, porque não existe garantir que haja qualquer informação dentro do "fluxo" de tráfego para permitir que tal roteamento ocorra. Certos protocolos, em uma tentativa de contornar este mesmo problema, fazer incorporam informações de nome em seu protocolo (como HTTP, com o Host
header) e, para esses protocolos, são geralmente proxies que receberão uma solicitação, determinarão o nome que foi apresentado e, em seguida, rotearão a solicitação para um local apropriado. Alguns desses proxies foram mencionados em outras respostas, e se estes não forem suficientes, você sem dúvida receberá respostas apropriadas se nos informar qual o protocolo da camada 7 que você está tentando fazer proxy.
No entanto, a grande maioria dos protocolos não faz nenhuma identificação baseada em nome de seu destino pretendido, e para aqueles que você não tem opção a não ser usar endereços IP para controlar o fluxo de tráfego para diferentes endpoints internos .
EDITAR : Se você está definindo seu próprio protocolo, deve ser possível incorporar o nome do host ao qual você está se conectando em algum lugar, e então você terá que escrever seu próprio proxy (possivelmente como um plug-in para algum software existente) para receber essas solicitações, mapeá-las para o back-end correto e passá-las adiante.