我在筆記型電腦上使用 Linux,無法使用該 URL 訪問特定網站,因此我使用該sudo /etc/init.d/nscd restart
URL 來清除 DNS 緩存,但該 URL 在 Firefox 中仍然拋出「找不到伺服器」。我也嘗試過 Chrome,但仍然無法正常工作。其他朋友可以看到網頁,但我看不到。那麼造成這種情況的主要原因是什麼呢?我可以很好地瀏覽其他網站。
奇怪的是,當我嘗試該特定 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
除非您正在執行綁定,否則這是清除快取的唯一方法,無法找到資料庫nscd
並刪除它,這可能會導致其他問題。我會按照 IP 解析的故障排除程序進行操作。我在你的問題的評論中概述了一些內容。
這是一篇非常好的 Linux Journal 文章的鏈接排除網路問題。
答案2
我知道這是一個老問題,但添加這個以防有人再次面臨這個問題。
今天早上,當我遇到類似的 DNS 用戶端快取問題時,我執行了所有常規步驟來清除儲存的緩存,nscd
並如第一個答案所述,重新啟動nscd
。我甚至刪除了作業系統緩存,但某個主機名稱仍然解析為舊的 IP 位址。僅在我nameserver 127.0.0.1
從 resolv.conf 中刪除該行後,它才開始解析。