Limpando o cache DNS no Linux

3

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

Estranhamente, quando eu até testo o endereço IP desse URL em particular, ele mostra uma página diferente da que as outras pessoas veem.

Agradeço qualquer ajuda sobre este assunto.

    
por mika 21.03.2012 / 13:20

2 respostas

5

A menos que você esteja executando bind acidentalmente, verifique seu arquivo de configuração nscd 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 de hosts em nscd -g Depois de reiniciar o nscd , ele 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 encontrar o banco de dados para nscd e excluí-lo, o que poderia causar outros problemas. Eu seguiria os procedimentos de solução de problemas para a resolução IP. Eu delineei alguns nos comentários para sua pergunta.

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

    
por 21.03.2012 / 15:22
0

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

Quando enfrentei um problema de cache de cliente DNS semelhante esta manhã, executei todas as etapas regulares para limpar o cache armazenado por nscd e, como mencionado na primeira resposta, reiniciei nscd . Eu até abandonei o cache do sistema operacional, mas um certo nome de host ainda estava resolvido para o endereço IP antigo. Ele começou a resolver somente depois que eu removi a linha nameserver 127.0.0.1 do resolv.conf.

    
por 11.11.2014 / 16:55

Tags