Não há arquivos de host de usuário, uma configuração de ligação complexa funcionaria hospedando o aplicativo por trás de um ip interno diferente ... no entanto ... o aplicativo deve ser capaz de pular o DNS ...
Se você estiver procurando fazer isso para um aplicativo que está fazendo chamadas http / https, poderá ignorar totalmente o DNS. Ao fazer uma requisição http, o domínio é copiado para os cabeçalhos, você pode pular este passo, sobrescrevendo o cabeçalho ...
por exemplo;
wget --header="Anfitrião: www.example.com" " link "
Isso enviará uma solicitação http para localhost, mas a solicitação http será para www.example.com e não para 127.0.0.1 ...
(ignorou o DNS e fez uma chamada http válida para o domínio correto).
Se por alguma razão for um serviço tcp alternativo que não tenha identificador como um host na requisição, então uma configuração de bind louco funcionaria (negar o ip src do aplicativo, ele resolverá em um serviço de dns diferente) .
Outra solução seria usar o firewall do kernel ...
divida o aplicativo em um lan diferente ou talvez um endereço de loopback, então você poderá DNAT para um IP diferente baseado no endereço do pacote de origem ...