Limpando o cache DNS no Linux

Limpando o cache DNS no Linux

Eu trabalho no Linux no meu laptop, não consegui acessar um determinado site usando a URL, então usei sudo /etc/init.d/nscd restartpara limpar o cache DNS, mas a URL ainda lança 'Servidor não encontrado' no Firefox. Eu tentei também o Chrome, ainda não funciona. Outros amigos podem ver a página da web, mas eu não. Então, qual seria a principal causa disso? Posso navegar bem em outros sites.

Estranhamente, quando tento o endereço IP desse URL específico, ele me mostra uma página diferente daquela que outras pessoas veem.

Agradeço qualquer ajuda sobre este assunto.

Responder1

A menos que você esteja executando bindpor acidente, verifique seu nscdarquivo de configuração localizado em /etc/nscd.conf.

Ele listará os caches que são mantidos.

 enable-cache            hosts           yes
 positive-time-to-live   hosts           3600
 .......

# nscd -?

-g, --statistics Print current configuration statistics

-i, --invalidate=TABLE Invalidate the specified cache

nscd -g

    hosts cache:

        yes  cache is enabled
         no  cache is persistent
        yes  cache is shared
        211  suggested size
     216064  total data pool size
        384  used data pool size
        600  seconds time to live for positive entries
          0  seconds time to live for negative entries
          0  cache hits on positive entries
          0  cache hits on negative entries
        128  cache misses on positive entries
          0  cache misses on negative entries
          0% cache hit rate
          3  current number of cached values
          7  maximum number of cached values
          2  maximum chain length searched
          0  number of delays on rdlock
          0  number of delays on wrlock
          0  memory allocations failed
        yes  check /etc/{hosts,resolv.conf} for changes

# nscd -i hosts

Isso invalidará o cache.

Mas, depois de fazer isso, não houve alteração nas entradas dos hosts em nscd -g Após reiniciar, nscdele foi liberado.

service nscd restart

    hosts cache:

        yes  cache is enabled
         no  cache is persistent
        yes  cache is shared
        211  suggested size
     216064  total data pool size
          0  used data pool size
        600  seconds time to live for positive entries
          0  seconds time to live for negative entries
          0  cache hits on positive entries
          0  cache hits on negative entries
          0  cache misses on positive entries
          0  cache misses on negative entries
          0% cache hit rate
          0  current number of cached values
          0  maximum number of cached values
          0  maximum chain length searched
          0  number of delays on rdlock
          0  number of delays on wrlock
          0  memory allocations failed
        yes  check /etc/{hosts,resolv.conf} for changes

A menos que você esteja executando o bind, esta é a única maneira de limpar o cache antes de localizar o banco de dados nscde excluí-lo, o que pode causar outros problemas. Eu seguiria os procedimentos de solução de problemas para resolução de IP. Descrevi alguns nos comentários à sua pergunta.

Este é um link para um artigo muito bom do Linux Journal sobreSolução de problemas de rede.

Responder2

Eu sei que é uma pergunta antiga, mas acrescento isso caso alguém esteja enfrentando esse problema novamente.

Quando enfrentei um problema semelhante de cache do cliente DNS esta manhã, executei todas as etapas regulares para limpar o cache armazenado nscde, conforme mencionado na primeira resposta, reiniciei nscd. Até deixei cair o cache do sistema operacional, mas um determinado nome de host ainda estava resolvendo para o endereço IP antigo. Só começou a resolver depois que removi a nameserver 127.0.0.1linha do resolv.conf.

informação relacionada