DNS緩存是一個(gè)臨時(shí)數(shù)據(jù)庫(kù),用于存儲(chǔ)已解釋的DNS查詢信息。換句話說,每當(dāng)您訪問網(wǎng)站時(shí),您的操作系統(tǒng)和網(wǎng)絡(luò)瀏覽器都會(huì)保留域名和相應(yīng)IP地址的記錄。
這消除對(duì)遠(yuǎn)程DNS服務(wù)器重復(fù)查詢,并允許您的操作系統(tǒng)或?yàn)g覽器快速解析網(wǎng)站的域名。
但是在某些情況下,例如對(duì)網(wǎng)絡(luò)問題進(jìn)行故障排除或者在更改DNS地址之后,您可能需要刷新DNS緩存。
這將清除緩存的DNS記錄根據(jù)DNS地址解釋域名。在本教程說明如何在Windows , Linux,MacOS操作系統(tǒng)和Web瀏覽器清除DNS緩存。
Windows 清除DNS緩存
對(duì)于所有Windows版本,清除DNS緩存的過程都是相同的。您需要使用管理員權(quán)限打開命令提示符CMD并運(yùn)行命令ipconfig /flushdns
。
例如在Windows 10清除DNS緩存。首先在Windows 10搜索欄鍵入cmd。右鍵單擊命令提示符
,然后右擊以管理員身份運(yùn)行
。這將打開命令提示符
窗口。
在命令提示符
窗口,鍵入命令ipconfig /flushdns
,然后按Enter
。成功后,系統(tǒng)將返回消息Successfully flushed the DNS Resolver Cache.
。
ipconfig /flushdns
Linux 清除DNS緩存
在Linux,除非你已安裝并運(yùn)行Systemd-Resolved,DNSMasq或Nscd之類的緩存服務(wù),否則操作系統(tǒng)不會(huì)緩存DNS解釋結(jié)果。
根據(jù)Linux發(fā)行版和所使用的緩存服務(wù),清除DNS緩存的過程有所不同。大多數(shù)de Linux發(fā)行版,例如Ubuntu 18.04之后都使用Systemd-Resolved服務(wù)緩存DNS記錄。
如果你的Linux發(fā)行版使用systemd作為初始化服務(wù),可以運(yùn)行命令sudo systemctl is-active systemd-resolved.service
確定Systemd-Resolved服務(wù)是否正在運(yùn)行。
如果Systemd-Resolved服務(wù)正在運(yùn)行,命令將會(huì)打印active
,否則命令打印inactive
。
如果Systemd-Resolved服務(wù)正在運(yùn)行,則可以運(yùn)行命令sudo systemd-resolve --flush-caches
清除系統(tǒng)DNS緩存。命令不返回任何消息
sudo systemctl is-active systemd-resolved.service
Dnsmasq是輕量級(jí)的DHCP和DNS緩存服務(wù)器。如果您的系統(tǒng)使用DNSMasq作為緩存服務(wù)器。
要清除DNS緩存,則需要重新啟動(dòng)Dnsmasq服務(wù),運(yùn)行命令sudo systemctl restart dnsmasq.service
。
sudo systemctl restart dnsmasq.service
Nscd是一個(gè)緩存守護(hù)程序,它是基于RedHat發(fā)行版首選DNS緩存系統(tǒng)。如果你的Linux發(fā)行版使用Nscd來緩存DNS記錄,
要清除DNS緩存,則需要重新啟動(dòng)Nscd服務(wù)。運(yùn)行命令sudo systemctl restart nscd.service
。
sudo systemctl restart nscd.service
MacOS 清除DNS緩存
根據(jù)您所運(yùn)行的版本,在MacOS中刷新緩存的命令略有不同。清除DNS緩存必須以系統(tǒng)管理員權(quán)限運(yùn)行命令。
要清除MacOS DNS緩存,首先打開mac finder。轉(zhuǎn)到應(yīng)用程序>程序>終端。這將打開終端窗口。
終端運(yùn)行命令sudo killall -HUP mDNSResponder
然后按Enter。輸入您的sudo密碼,然后再次按Enter。成功后,系統(tǒng)不會(huì)返回任何消息。
早期版本的MacOS,刷新緩存的命令略有不同。MacOS版本10.11和10.9
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
MacOS版本10.10
sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches
MacOS版本10.6和10.5
sudo dscacheutil -flushcache
Chrome 瀏覽器清除DNS緩存
現(xiàn)代的Web瀏覽器都有一個(gè)內(nèi)置的DNS客戶端,以防止每次訪問網(wǎng)站時(shí)重復(fù)查詢DNS解釋IP地址。
要清除Google Chrome瀏覽器DNS緩存。首先打開一個(gè)新標(biāo)簽,然后輸入chrome://net-internals/#dns
在Chrome的地址欄。點(diǎn)擊清除緩存
按鈕。
如果那對(duì)您不起作用,請(qǐng)嘗試清除緩存和cookie。按下CTRL+Shift+Del
打開清除瀏覽數(shù)據(jù)
對(duì)話框窗口。
在選擇一個(gè)時(shí)間范圍。選擇所有時(shí)間
以刪除所有內(nèi)容。選中Cookie和其他站點(diǎn)數(shù)據(jù)
和緩存的圖像和文件。點(diǎn)擊清除數(shù)據(jù)
按鈕。方法適用于基于Chromium瀏覽器,包括Vivaldi和Opera。
Firefox 瀏覽器清除DNS緩存
要清除Firefox的DNS緩存。首先在右上角,單擊漢堡包圖標(biāo)?
打開Firefox的菜單。
點(diǎn)擊? Options (Preferences)
鏈接。單擊左側(cè)的隱私和安全性
或隱私
選項(xiàng)卡。向下滾動(dòng)到該History
部分,然后單擊Clear History...
按鈕。
選擇要清除的時(shí)間范圍。選擇所有內(nèi)容
將會(huì)刪除所有內(nèi)容。選擇所有復(fù)選框,然后單擊立即清除
。
如果這對(duì)您不起作用,請(qǐng)嘗試以下方法并暫時(shí)禁用DNS緩存。打開一個(gè)新標(biāo)簽,然后about:config
在Firefox的地址欄中輸入。
搜索network.dnsCacheExpiration
,將值暫時(shí)設(shè)置為0,然后單擊確定
。然后,改回默認(rèn)值,然后單擊確定
。
搜索network.dnsCacheEntries
,將值暫時(shí)設(shè)置為0,然后單擊確定
。然后,改回默認(rèn)值,然后單擊確定
。
結(jié)論
您已經(jīng)了解如何在Windows,Linux和MacOS操作系統(tǒng)清除或刷新DNS緩存。Linux和MacOS用戶可以使用dig命令查詢DNS并對(duì)DNS問題進(jìn)行故障排除。
-
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213823 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3614瀏覽量
91414 -
MacOS
+關(guān)注
關(guān)注
0文章
211瀏覽量
18281 -
DNS
+關(guān)注
關(guān)注
0文章
226瀏覽量
20452
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論