linux刷新dns緩存
Linux下DNS緩存實現通常有兩種方式:
一種是用DNS緩存程序NSCD負責管理DNS緩存。
一種實現DNS緩存則是用Bind來架設Caching Name Server來實現。
清除NSCD
#/etc/init.d/nscdrestart
或者:#servicenscdrestart
或者:#servicenscdreload
如果nscd無法執行,先安裝nscd,命令如下:
#apt-getinstallnscd
如果是清除BIND伺服器上的CACHE,用這個命令:
#rndcflush
如果你的DNS伺服器是用dnsmasq實現的,用下面這個命令:
#/etc/init.d/dnsmasqrestart
2. 如何在 Linux/Unix/Mac 下清除 DNS 查詢緩存
如何: 清除 nscd dns 緩存
Nscd 會緩存libc發起的名稱服務的請求。如果把檢索NSS數據看做很慢,那麼nscd能夠顯著加快連續訪問同一數據的速度,並能提高整個系統的性能。只需重啟nscd即可刷新緩存:
$ sudo /etc/init.d/nscd restart
或
# service nscd restart
或
# service nscd reload
這個守護進程給最常用的名稱服務請求提供了高速緩存。默認的配置文件/etc/nscd.conf,其決定了高速緩存守護進程的行為。
清除 dnsmasq dns 緩存
dnsmasq的是一個輕量級的DNS、TFTP和DHCP伺服器。它的目的是給區域網提供配對的DNS和DHCP服務。 dnsmasq接受DNS查詢,並從一個小的本地高速緩存應答它們或將其轉發到一個真正的遞歸DNS伺服器。該軟體也被安裝在很多便宜的路由器上來緩存DNS查詢。只需重新啟動dnsmasq的服務來清除DNS緩存:
$ sudo /etc/init.d/dnsmasq restart
或者
# service dnsmasq restart
清除BIND緩存伺服器的dns緩存
一台BIND緩存伺服器從另一台伺服器(區域主)響應主機的查詢而獲得信息,然後保存(緩存)數據到本地。您所要做的就是重啟BIND以清除其緩存:
# /etc/init.d/named restart
3. 如何清除dns緩存
DNS 緩存是一個臨時資料庫,用於存儲有關以前的 DNS 查找的信息。換句話說,每當你訪問網站時,你的操作系統和網路瀏覽器都會保留該域和相應 IP 地址的記錄。這消除了對遠程 DNS 伺服器重復查詢的需要,並允許你的 OS 或瀏覽器快速解析網站的 URL。
但是在某些情況下,例如:對網路問題進行故障排除,或者在更改 DNS 解析器之後,你將需要刷新 DNS 緩存。這將清除緩存的 DNS 條目,並根據新配置的 DNS 設置執行後續查找以解析域。
本指南提供有關如何在不同的操作系統和 Web 瀏覽器上刷新 DNS 緩存的說明。
在 Windows 上清除/刷新 DNS 緩存
對於所有 Windows 版本,清除 DNS 緩存的過程都是相同的。你需要使用管理員許可權打開命令提示符並運行 ipconfig /flushdns。
Windows 10 和 Windows 8
要在 Windows 10 和 Windows 8 中清除 DNS 緩存,請執行以下步驟:
在 Windows 搜索欄中鍵入 cmd 。
右鍵單擊 「命令提示符」,然後右擊 「以管理員身份運行」。這將打開 「命令提示符」 窗口。
在命令行上,鍵入以下行,然後按回車:
ipconfig /flushdns
成功後,系統將返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
Windows 7
要在 Windows 7 中清除 DNS 緩存,請執行以下步驟:
單擊開始按鈕。
在開始菜單搜索文本框中鍵入 cmd。
右鍵單擊 「命令提示符」,然後單擊 「以管理員身份運行」。這將打開 「命令提示符」 窗口。
在命令行上,鍵入以下行,然後按回車:
ipconfig /flushdns
成功後,系統將返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
在 Linux 上清除/刷新 DNS 緩存
在 Linux 上,除非已安裝並運行諸如 Systemd-Resolved,DNSMasq 或 Nscd 之類的緩存服務,否則沒有操作系統級 DNS 緩存。根據 Linux 發行版和所使用的緩存服務,清除 DNS 緩存的過程有所不同。
系統化解決
大多數現代 Linux 發行版,例如 Ubuntu 18.04,都使用 systemd 解析的服務來緩存 DNS 條目。
要查找服務是否正在運行,請運行:
$ sudo systemctl is-active systemd-resolved.service
如果該服務正在運行,則將列印命令 active,否則將看到 inactive。
要清除系統解析的 DNS 緩存,你需要鍵入以下命令。
$ sudo systemd-resolve --flush-caches
成功後,該命令不會返回任何消息。
Dnsmasq
Dnsmasq 是輕量級的 DHCP 和 DNS 緩存名稱伺服器。
如果你的系統使用 DNSMasq 作為緩存伺服器,則要清除 DNS 緩存,需要重新啟動 Dnsmasq 服務:
$ sudo systemctl restart dnsmasq.service
也可以使用以下命令
$ sudo service dnsmasq restart
NSCD
NSCD 是一個緩存守護程序,它是大多數基於 RedHat 的發行版的首選 DNS 緩存系統。
如果系統使用 NSCD 來清除 DNS 緩存,則需要重新啟動 NSCD 服務:
$ sudo systemctl restart nscd.service
或者
$ sudo service nscd restart
在 MacOS 上清除/刷新 DNS 緩存
根據你所運行的版本,在 MacOS 中刷新緩存的命令略有不同。該命令必須以具有系統管理員特權的用戶(sudo 用戶)身份運行。
要清除 MacOS 中的 DNS 緩存,請執行以下步驟:
打開查找器。
轉到應用程序>實用程序>終端。這將打開終端窗口。
在命令行中,輸入以下行,然後按回車:
$ sudo killall -HUP mDNSResponder
輸入你的 sudo 密碼,然後再次按回車。成功後,系統不會返回任何消息。
對於早期版本的 MacOS,刷新緩存的命令不同。
MacOS 版本 10.11 和 10.9
$ sudo dscacheutil -flushcache
$ sudo killall -HUP mDNSResponder
MacOS 版本 10.10
$ sudo discoveryutil mdnsf
4. 刷新DNS命令 如何刷新DNS緩存
1、「WIN +R」快捷鍵打開運行窗口,輸入「cmd」命令點擊確認。