DNS緩存是用于DNS查找的臨時(shí)存儲(chǔ)系統(tǒng),負(fù)責(zé)將域名轉(zhuǎn)換為IP地址。進(jìn)行DNS查詢時(shí),系統(tǒng)會(huì)檢查緩存中的相關(guān)信息。如果找到了,那么它會(huì)加速域名解析的過(guò)程。如果DNS緩存中的數(shù)據(jù)過(guò)時(shí)或不正確,則需刷新它以確保使用正確的信息。本文主要介紹下如何在Ubuntu上查看和刷新DNS緩存。
在刷新DNS緩存之前,您應(yīng)該使用命令行實(shí)用程序(如nslookup)了解系統(tǒng)上的DNS緩存是否已啟用。如果您在Ubuntu上沒(méi)有安裝該命令行實(shí)用程序,則可參考以下步驟逐步操作。
1、運(yùn)行下面命令,安裝dnsutils軟件包。
$ sudo apt install dnsutils
因?yàn)檫@個(gè)命令需要sudo特權(quán),所以系統(tǒng)會(huì)提示您輸入用戶密碼,終端會(huì)安裝它。當(dāng)安裝了“dnsutils”包后,讓我們使用nslookup命令來(lái)查看系統(tǒng)上是否啟用了DNS緩存。
$ nslookup www.idcspy.com
如果輸出的結(jié)果中,能正確查看到DNS包含的IP地址,則表示DNS緩存已啟用。如果它被禁用,您會(huì)看到一個(gè)“connection refused”連接被拒絕的錯(cuò)誤。
2、要是DNS緩存被禁用,您可運(yùn)行下面命令以啟用DNS緩存。
$ sudo systemctl start systemd-resolved
3、DNS緩存成功啟用后,您如果要查看Ubuntu上DNS緩存的統(tǒng)計(jì)數(shù)據(jù), 可運(yùn)行以下命令:
$ resolvectl statistics
如無(wú)意外,您會(huì)得到類似下面的輸出結(jié)果。
如果要刷新DNS緩存的話,您可使用下面這個(gè)命令:
$ sudo resolvectl flush-caches