如何刷新 Debian 中的 DNS 缓存?

如何刷新 Debian 中的 DNS 缓存?

如何使用 KDE 刷新 Debian 9.1 中的 DNS 缓存?

答案1

如果用作systemd-resolved您的 DNS 解析器(即文件hosts的行/etc/nsswitch.conf包含单词resolve和/或/etc/resolv.conf包含行nameserver 127.0.0.53),则此命令将刷新其缓存:

$ sudo systemd-resolve --flush-caches

该命令的新版本似乎是:

$ sudo resolvectl flush-caches

答案2

如果未安装 DNS 名称服务器(BIND、unbound、Knot Resolver、PowerDNS Recursor 等)或 DNS 解析器(如 dnsmasq)或 DNS 缓存(如 nscd),并且默认情况下未安装它们,则不存在 DNS缓存除了Web 浏览器(Firefox、Chrome 等)可能保留的缓存。只需重新启动 Web 浏览器即可清除其保留的 DNS 缓存。

如果已安装任何 DNS 服务器,重新启动该服务可能会清除其缓存(例如):

# sudo systemctl restart bind9

唯一可能的其他本地网络缓存是网络路由器上运行的 DNS 服务器可能保留的缓存,只需重新启动路由器即可。

答案3

这也对我有用:打开终端(从菜单或图标或按Ctrl+ Alt+ T),然后输入:

sudo /etc/init.d/networking restart

在终端中。

它清除了我的 DNS 缓存,因此我可以看到我一直在处理的 WWW 页面以及我分配给它的 DNS 名称。 DNS 分配是通过 Web 托管服务远程完成的。通过终端的 sudo 命令要求输入密码,这是我普通用户的密码,因为我使用了sudo.

我正在使用 MX Linux 19.1_x64 patito feo,它支持并包含 systemd 和 init-V 功能和内核。它基于 Debian GNU/Linux buster 10 stable,是一个名为 MX Linux 19.1“patito feo”的桌面发行版。这就是为什么我可以使用命令“sudo /etc/init.d/networking restart”而不会出现问题。

答案4

sudo systemd-resolve --flush-caches

如果运行命令后收到以下消息:

无法刷新缓存:未找到单元 dbus-org.freedesktop.resolve1.service。

运行以下命令以在 Debian 上启用该服务:

sudo systemctl enable systemd-resolved.service

然后再次运行“systemd-resolve –flush-caches”命令。

然后,您可以检查统计信息,以确保您的缓存大小现在为零,从而被清除。运行以下命令以查看统计信息:

sudo systemd-resolve --statistics

相关内容