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