前情提要
最近 (2011-12) 因為使用 Firefox 9, 經常發生 Server not found, 心理面懷疑是 FF9 造成的, 乾脆把整個 FF9 徹底移除, 連同硬碟內的目錄, Registry 通通清除之, 然後重新安裝 FF9, 但是 Server not found 的現象並沒有「緩解」, 這代表著 FF9 是無辜的受害者....
既然不是瀏覽器這個層級的問題, 那問題可能出在更上一層, 於是把 dnscache 給清除了 (但這應該是與問題無關, 原因後述). Windows 7 系統裡面的 dnscache 仍然是 DNS Client 服務, 在命令列上下指令 ipconfig /flushdns.
一般而言 DNS Cache 會依照該項目的 TTL 時間, 自動排出快取範圍, 因此 Cache 不至於失控的成長, 但是 Server not found 的問題並不是 dnscache 能做到的, 之所以發生問題是 cache 根本沒有這個資料或是該主機搬家了, 造成 IP 對應 hostname 發生錯誤. 另一個可能是 DNS 主機 timeout, 超過 FF9 內定的最大容忍範圍, 因此 FF9 回報 Server not found.
清了 dnscache 後, 打開 cfosspeed 的 current connections 功能, 會列出實際上正在連線的列表, 我觀察到了 OpenDNS 主機回應 0 的現象, 這正是原因所在.
問題是 OpenDNS 主機是人家的, 已經超過我們能管控的範圍, 每隔幾分鐘就來一陣子主機回應 0 的事情, 就造成 FF9 或 IE9 完全連不上網路, 該如何解決??