Linux怎么清除DNS缓存_Linux如何刷新本地DNS解析缓存【技巧】

陌枫酱_2535

陌枫酱_2535

2026-03-22

314人浏览

原创

linux系统无内置dns缓存,需确认systemd-resolved、dnsmasq或nscd是否启用;默认systemd-resolved应使用sudo resolvectl flush-caches清缓存,而非已废弃的systemd-resolve命令。

linux怎么清除dns缓存_linux如何刷新本地dns解析缓存【技巧】

先确认你有没有 DNS 缓存服务在跑

Linux 内核本身不带 DNS 缓存,所谓“清缓存”其实是清 systemd-resolved、dnsmasq 或 nscd 这类第三方服务的缓存。直接执行 sudo systemd-resolve --flush-caches 却没反应?大概率是服务根本没启用。

  • 运行 systemctl is-active systemd-resolved —— 返回 active 才说明它在干活
  • 顺手查下 cat /etc/resolv.conf:如果 nameserver 是 127.0.0.53,基本就是 systemd-resolved;如果是 127.0.0.1,很可能是 dnsmasq
  • 再补一刀:ps aux | grep -E '(dnsmasq|nscd)',看有没有残留进程

如果全都是 inactive 或空输出,那你系统压根没本地 DNS 缓存——刷新没意义,该等 TTL 过期就等,该重启浏览器就重启。

systemd-resolved 是默认主力,但命令已过时

Ubuntu 20.04+、Debian 11+、Fedora 等主流发行版默认用 systemd-resolved,但它在新版本中已弃用 systemd-resolve 命令(包括 --flush-caches),强行运行会提示 “command not found” 或 “deprecated”。

  • 正确做法是:sudo resolvectl flush-caches(注意是 resolvectl,不是旧名)
  • 或者更稳妥:重启服务 sudo systemctl restart systemd-resolved
  • 验证是否生效:resolvectl statistics 看 Cache current entries 是否归零;再跑一次 resolvectl query github.com,对比响应时间是否变长(说明没走缓存)

dnsmasq 和 nscd 清缓存就是重启服务

这两个服务不提供“清空缓存”的独立命令,缓存和进程生命周期绑定,重启即重置。

  • dnsmasq:常见于路由器、开发机或手动部署的轻量 DNS 服务,执行 sudo systemctl restart dnsmasq
  • nscd:老派企业环境可能还在用,专注缓存 NSS 数据(含 DNS),执行 sudo systemctl restart nscd
  • 注意:nscd 默认不缓存 DNS,得检查配置文件 /etc/nscd.conf 中 enable-cache hosts yes 是否开启,否则重启也白搭

NetworkManager 会偷偷接管 DNS 配置

在桌面版或使用 NetworkManager 的服务器上(比如 RHEL/CentOS/Fedora),它可能把 DNS 设置推给 systemd-resolved,但自己不刷新缓存——你清了 resolved,下次 DHCP 更新又覆盖回去。

  • 推荐组合操作:sudo systemctl restart NetworkManager → sudo resolvectl flush-caches
  • 检查软链接是否正常:ls -l /etc/resolv.conf 应该指向 /run/systemd/resolve/stub-resolv.conf 或类似路径,而不是被硬写死的静态文件
  • 如果 /etc/resolv.conf 是普通文件且内容固定,那 systemd-resolved 可能被绕过了,此时清缓存无效,得改配置或切回托管模式

最常被忽略的一点:DNS 缓存不在系统里,就在你浏览器、curl、甚至某些 Go 程序自己的连接池里——服务端清完了,客户端不 reload,照样用旧记录。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

2023.06.14

3443

6

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

2023.10.30

755

4

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8345

27

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

2026.04.02

798

19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3830

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3293

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2433

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5830

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5482

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习