私はラップトップで Linux を使っていますが、URL を使用して特定の Web サイトにアクセスできなかったため、sudo /etc/init.d/nscd restart
DNS キャッシュをクリアするために を使用しましたが、Firefox では URL に「サーバーが見つかりません」というメッセージが表示されます。Chrome も試しましたが、まだ機能しません。他の友人は Web ページを見ることができますが、私には見ることができません。では、この問題の主な原因は何でしょうか? 他のサイトは問題なく閲覧できます。
奇妙なことに、その特定の URL の IP アドレスを入力しても、他の人が見るページとは異なるページが表示されます。
この件に関してご助力いただければ幸いです。
答え1
bind
誤って実行していない限り、nscd
にある構成ファイルを確認する必要があります/etc/nscd.conf
。
保存されているキャッシュがリストされます。
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
これによりキャッシュが無効になります。
nscd -g
しかし、それを実行した後、再起動後にnscd
フラッシュされたホストのエントリには変更がありませんでした。
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
bind を実行している場合を除き、これはデータベースを見つけて削除する以外にキャッシュをクリアする唯一の方法ですnscd
。データベースを見つけて削除すると、他の問題が発生する可能性があります。IP 解決のトラブルシューティング手順に従うことをお勧めします。質問に対するコメントにいくつか概要を記載しました。
これはLinux Journalの非常に良い記事へのリンクですネットワークの問題のトラブルシューティング。
答え2
これは古い質問だとはわかっていますが、誰かが再びこの問題に直面した場合に備えてこれを追加します。
今朝、同様の DNS クライアント キャッシュの問題に直面したとき、 によって保存されたキャッシュをクリアするための通常の手順をすべて実行しnscd
、最初の回答で述べたように を再起動しました。OS キャッシュも削除しましたが、特定のホスト名は依然として古い IP アドレスに解決されていました。resolv.confから行nscd
を削除した後でのみ、解決が開始されました。nameserver 127.0.0.1