DNS緩存是一個臨時數據庫,用于存儲已解釋的DNS查詢信息。換句話說,每當你訪問網站時,你的操作系統和網絡瀏覽器都會保留域名和相應IP地址的記錄。
這消除對遠程DNS服務器重復查詢,并允許你的操作系統或瀏覽器快速解析網站的域名。
但是在某些情況下,例如對網絡問題進行故障排除或者在更改DNS地址之后,你可能需要刷新DNS緩存。這將清除緩存的DNS記錄根據DNS地址解釋域名。
我是艾西,今天我跟大家聊聊linux系統如何清除dns緩存
Linux清除DNS緩存實現通常有兩種方式:一種是用DNS緩存程序NSCD(name service cache daemon)負責管理DNS緩存。另一種實現DNS緩存則是用Bind來架設Caching Name Server來實現。
如果是清除NSCD上的Cache,可重新啟動NSCD服務來達成清除DNS Cache的效果。用這個命令:
# service nscd restart
# /etc/init.d/nscd restart
如果是清除BIND服務器上的cache,用這個命令:
# rndc flush
如果你的DNS服務器是用dnsmasq實現的,用下面這個命令
$ sudo /etc/init.d/dnsmasq restart
注:DNSmasq是一個輕巧的,容易使用的DNS服務工具,它可以應用在內部網和Inte.NET連接的時候的IP地址NAT轉換,也可以用做小型網絡的DNS服務。
其它操作系統下清空DNS緩存的方法
1、微軟windows下如何清空dns:
你可以用以下命令來清空dns 緩存內容。
ipconfig /flushdns
你也可以用以下命令來查看dns緩存內容。
ipconfig/displaydns
windows下的DNS Cache 是由DNS Client后臺進程控制的,你可以在控制面板 ->服務中將其關閉,這樣windows就不會進行DNS緩存,每次都將直接查詢DNS Server 。
mac OSX下如何清空DNS緩存:
在Mac OSX中,你可以用以下命令來清空DNS緩存內容:
bash-2.05a$lookupd-flushcache
DNS緩存可以快速獲得解析記錄,但如果所訪問的網站DNS解析發生更改,本機的DNS緩存并不能及時得到同步,這樣有可能導致域名解析出錯,甚至可能被非法利用進行DNS劫持將域名解析指向非法網站。所以為了保證DNS解析準確性,需要定期對DNS緩存進行清理
清除DNS緩存有什么好處:
1. 安全性
DNS緩存文件是DNS事件的主要目標,DNS欺騙是一種更改DNS記錄的攻擊,目的是將在線流量重定向到類似于其預期目標的欺詐性網站。刷新DNS緩存會清空大多數文件(與自動更新相關的文件除外),從而減少這種事件的發生概率。
2. 良好連接
如果網站不是在特定設備上加載,而是在其他設備上加載,則最有可能是由于DNS緩存問題。通過刷新DNS緩存,將刪除錯誤的IP地址條目,并在發出下一個請求時使用正確的/最新的IP地址。
3. 舊數據
由于存在許多受歡迎的DNS提供程序,如果最近更改DNS提供程序,但是緩存仍包含來自舊DNS提供程序的數據,則可能會遇到問題。
4. 維護
刷新DNS緩存的另一個好處是,這是進行維護的良好做法。盡管DNS緩存文件不會占用很多空間,但是如果不定期刷新緩存,則列表顯然會隨著時間的推移而迅速增長。通過刷新緩存,可以正確刪除記錄,以便解析器不再使用現在過期的信息,還可以解決嘗試訪問某些站點時遇到的404錯誤。