如何在 Debian 中刷新 DNS 缓存?

mYn*_*EAm 12 cache dns debian

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

小智 16

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

$ sudo systemd-resolve --flush-caches
Run Code Online (Sandbox Code Playgroud)

  • 请详细说明这个命令应该做什么。 (7认同)

ImH*_*ere 5

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

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

# sudo systemctl restart bind9
Run Code Online (Sandbox Code Playgroud)

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


Hun*_*son 2

以下是在 Linux 中刷新 DNS 缓存的方法:

  • 打开你的终端。
  • 通过执行以下命令重新启动名称服务缓存守护进程:

sudo /etc/init.d/nscd restart

在某些情况下,可能未安装 nscd 守护程序。在 Ubuntu(和其他基于 Debian 的发行版)中,您可以通过执行以下命令从终端安装它:

apt-get install nscd
Run Code Online (Sandbox Code Playgroud)

  • 如果需要首先安装 nscd,刷新缓存是否有意义?DNS 缓存不需要 nscd 吗?还是只是为了冲洗才需要? (3认同)
  • libc 存根解析器不缓存。如果 _nscd_ **已安装并配置为缓存 DNS 请求,则其 DNS 缓存可以通过“nscd -ihosts”失效。安装它绝对无助于避免缓存。顺便说一句 _nscd_ 相当不稳定,无论如何我推荐 _unscd_ 而不是它,它具有相同的界面。 (2认同)