DNS 的作用是將網域解譯成 IP 地址, 為了使連線更有效率, 系統不會每次也向 DNS 伺服器查詢 IP, 而會在本機把網域的 IP 儲存在快取。
但如果網域的 IP 已經更新, 用 nslookup 查詢也看到新的 IP, 但用瀏覽器還是連到舊的 IP, 這樣可能是因為系統或瀏覽器的快取還未更新。如果是瀏覽器的 DNS 快取, 可以參考 Chrome, Firefox 及 Safari 手動清除 DNS 快取.
以下是在 Ubuntu 及 CentOS 下 DNS 快取的方法:
Ubuntu
在 Ubuntu 下可以用 systemd-resolve 指令清除 DNS 快取, 指令如下:
$ sudo systemd-resolve –flush-caches
執行後 DNS 快取便會清除, 也可以執行以下指令進行驗証:
$ sudo systemd-resolve –statistics
如果看到 “Current cache size” 是 0, 那便表示 DNS 快取全部清除了。
CentOS
CentOS 清除 DNS 快取的方法, 是重新啟動 dnsmasq 服務:
$ sudo systemctl restart dnsmasq.service
以上是 Ubuntu 及 CentOS 清除 DNS 快取的方法。
$ sudo systemd-resolve –flush-caches 的 –flush-caches
是不是少了一個 ” – ” ?
應該是 sudo systemd-resolve –flush-cache