Como o utilitário host
está realizando pesquisas de DNS, ele não está usando /etc/hosts
. Para que o sucesso seja bem-sucedido, o host precisa estar em um servidor DNS em algum lugar.
Uma vez que a questão está aqui, estou assumindo que adicionar este registro DNS ao seu servidor DNS (aquele em 192.168.101.2) não é uma opção. Felizmente, você pode realmente resolver isso com bastante facilidade, já que você está usando o NetworkManager (conforme indicado pela linha de comentário no seu /etc/resolv.conf
).
A solução é ativar o & configure o dnsmasq. O dnsmasq é um encaminhador de DNS que é executado no host local. Ele pode executar tarefas simples, como pesquisas recursivas e armazenar em cache os resultados. Ele também pode fazer coisas como servir registros de /etc/hosts
. O NetworkManager possui uma funcionalidade incorporada para gerenciar o dnsmasq. Então, usá-lo é muito simples.
Configuração
A parte da configuração é informar ao dnsmasq para servir registros de /etc/hosts
, já que a configuração padrão que o NetworkManager usa para o dnsmasq não habilita essa funcionalidade.
Crie o arquivo /etc/NetworkManager/dnsmasq.d/hosts.conf
com o seguinte conteúdo:
addn-hosts=/etc/hosts
Ativando
A ativação é feita adicionando o parâmetro dns = dnsmasq
à seção [main]
de /etc/NetworkManager/NetworkManager.conf
. Por exemplo:
[main]
dns = dnsmasq
Depois disso, reinicie o NetworkManager (via systemctl restart NetworkManager.service
).
Uso
Agora você deve notar que /etc/resolv.conf
tem apenas uma única entrada nameserver
apontando para 127.0.0.1
. Quaisquer ferramentas que consultem /etc/resolv.conf
para localizar os servidores de nomes devem agora acertar o dnsmasq e receber registros encontrados em /etc/hosts
. Se o registro não existir em /etc/hosts
, a pesquisa será encaminhada para seu servidor DNS upstream (192.168.101.2).