如何在 Linux 上刷新 DNS 缓存

Linux 上的 DNS 服务器没有单一标准。 每个发行版使用不同的东西,因此您需要查看您的系统上运行的是哪个发行版。 当然,尝试这些并看看哪些有效并没有什么坏处。 程序几乎相同。

大多数现代发行版都运行“systemd-resolve”或“nscd”。 不过,您可能正在使用“dnsmasq”或“BIND”。 在任何情况下,刷新缓存通常就像重新启动正在运行的守护程序一样简单。

系统解析

Ubuntu 和其他基于 Debian 的发行版可能正在运行 systemd-resolve。 它是一个方便的 DNS 守护程序,内置于 systemd 中,您的系统已经在很多事情上使用它。 如果您正在运行 Ubuntu,则一切都已设置好并准备就绪。 通过告诉 systemd 刷新缓存来清除缓存。

这里的所有都是它的。 您可以通过询问统计信息来检查它是否有效。

DNS 缓存统计 Systemd

如果您看到缓存大小为零,则您已成功刷新系统的缓存。

nscd

刷新 DNS 缓存 NSCD

如果您运行的是不同的发行版,那么它很有可能使用 nscd。 它是 Red Hat 发行版和 Arch Linux 的选择。 这个同样易于使用。 您只需要重新启动服务即可清除缓存。

dnsmasq

dnsmasq 是另一种选择。 它在服务器上比在台式机上更常见,但它仍然经常使用。 Dnsmasq 非常适合本地 DNS 服务器,并且经常用于路由器。 与 nscd 一样,您只需要重新启动服务即可。

命名为

最后,BIND 是一个更传统的选择。 不是很多发行版默认使用它,但你肯定会遇到它。 BIND 仍然用于专门构建的 DNS 服务器。

无论您的计算机正在运行哪种 DNS 服务,清除 DNS 缓存都不会有任何问题。 重新启动大多数 DNS 服务器很容易解决。 对于基于 Debian 的发行版,您可以使用 systemd 中的内置函数来清除缓存。 在所有情况下,该过程都很简单,并且不需要重新启动整个系统。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅