nslookup, dig, firefox ignorando entradas do arquivo / etc / hosts

10

Há algo terrivelmente errado na minha instalação atual do Debian. A maioria dos programas como o firefox, nslookup, dig etc. estão ignorando entradas no /etc/hostsarquivo, na verdade eu uso esse arquivo para bloquear anúncios.

um exemplo

uma linha no /etc/hostsarquivo

127.0.0.1 www.winaproduct.com

quando faço dig +short www.winaproduct.comisso retorna o respectivo endereço IP do servidor, não 127.0.0.1.

Aberto www.winaproduct.comno firefox, mostra o respectivo site, mas isso não é esperado.

Mas não há nenhum problema com ping, busybox nslookup, busybox ping, resolveipetc.

Então qual é o problema ? E como corrigi-lo? Acho que o problema está na biblioteca de resolução de DNS.

Uma correção temporária, configuração dnsmasqe alteração nameserverpara 127.0.0.1in /etc/resolv.conf.

atualizar

problema magicamente resolvido após a instalação libnss3, como uma dependência degoogle-chrome

O padrão /etc/nsswitch.conf parece hosts: files dns

como saber nslookup, digetc. pergunte primeiro ao arquivo / etc / hosts, em vez de perguntar diretamente ao DNS?

mas porque busybox nslookup, wget, resolveipetc. estão trabalhando de forma diferente nslookup, digetc.?

Arnab
fonte
como é a hosts:entrada /etc/nsswitch.conf?
casey
@ casey, /etc/nsswitch.conf é parecido comhosts: files dns
Arnab
Adicione essas informações importantes ao seu OQ.
dan
Claramente, este não é um problema de DNS. Por favor, observe esta pergunta muito semelhante: unix.stackexchange.com/q/158419/31707 .
dan

Respostas:

16

nslookup, digE hostsão ferramentas para consultar servidores de nome DNS.

Se sua configuração não for fornecida por um servidor de nomes (como as informações fornecidas em /etc/hosts), essas ferramentas não as mostrarão, porque pedem diretamente ao servidor de nomes.

Se você deseja verificar se a resolução "usual" está funcionando (ou seja, da maneira especificada em /etc/nsswitch.conf), você pode usar getent:

getent hosts www.winaproduct.com
michas
fonte
getent hosts www.winaproduct.comestá funcionando perfeitamente, mas nslookup, dig, hostetc, são apenas como exemplo, eu quero-o em firefox .
Arnab
1
Se funciona com getent, também deve funcionar com o Firefox. (Ambos usam o mesmo mecanismo de resolução.) Se ele realmente não funcionar, verifique a configuração "incomum" no firefox. Talvez você defina algum tipo de proxy ou algo assim.
Michas
obrigado pelo comentário, eu não uso nenhuma configuração incomum do firefox, não, ele não está funcionando com o firefox (38.0.1).
Arnab
3
Tenho certeza de que há algum problema no navegador. Experimente wgetou outro navegador como o chrome. Se getentfornece o resultado esperado, todos eles devem.
Michas
1
@daniel Azuelos, não há nada errado com as configurações do Firefox, ele já está usando No Proxy. Então, como saber nslookup, digetc. , pergunte /etc/hostsprimeiro ao arquivo, perguntando diretamente ao DNS? Obrigado pelo seu comentário valioso.
Arnab
4

Você pode instalar o DNSmasq, que lerá suas entradas / etc / hosts e importará-as para o cache DNS. Então, todas as suas ferramentas de DNS e aplicativos de consulta de DNS, como dig, host e nslookup, receberão respostas originadas no arquivo / etc / hosts.

Tony Barganski
fonte