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