Linux 清除 DNS 快取


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 快取的方法。

One Response

  1. Luxame 11 October 2020

Leave a Reply