上一篇 下一篇 分享链接 返回 返回顶部

Windows与Linux本地DNS缓存刷新方法

发布人: 发布时间:21小时前 阅读量:5

概述

DNS缓存是操作系统或网络服务为了提高域名解析速度而临时存储的DNS查询结果。当域名指向的IP地址发生变更时,本地缓存的陈旧记录会导致无法正确访问目标服务器。手动刷新DNS缓存是常见的排错手段。本文介绍Windows和Linux系统下刷新本地DNS缓存的标准方法。

Windows系统

命令提示符刷新DNS缓存

Windows系统通过内置的ipconfig命令管理DNS客户端缓存。操作步骤如下:

  1. 以管理员身份打开命令提示符(CMD)或PowerShell;
  2. 执行命令:ipconfig /flushdns
  3. 系统提示“已成功刷新DNS解析缓存”即完成。

适用于Windows 7、8、10、11及Windows Server操作系统。该命令仅清除本地DNS客户端缓存,不影响路由器或ISP侧缓存。

浏览器DNS缓存

部分浏览器(如Chrome)有独立DNS缓存,可在地址栏输入chrome://net-internals/#dns,点击“Clear host cache”按钮清除。

Linux系统

Linux发行版因DNS解析服务不同,刷新命令存在差异。常见场景如下:

使用 systemd-resolved

大多数现代发行版(如Ubuntu 18.04+、Fedora、Debian 10+)默认使用systemd-resolved管理DNS。执行:

sudo resolvectl flush-caches

或旧版命令:

sudo systemd-resolve --flush-caches

验证是否成功可查看缓存统计:sudo resolvectl statistics,观察“Current Cache Size”是否归零。

使用 nscd

部分发行版及旧版系统使用nscd(Name Service Cache Daemon)。重新启动nscd服务以清除缓存:

sudo systemctl restart nscd

或使用init脚本:

sudo /etc/init.d/nscd restart

使用 dnsmasq

若本地运行dnsmasq作为DNS缓存服务,重启该服务:

sudo systemctl restart dnsmasq

或发送SIGHUP信号刷新:

sudo killall -HUP dnsmasq

使用 BIND

对于运行BIND的服务,可使用rndc命令:

sudo rndc flush

注意事项

  • 执行上述命令需要管理员/root权限(Windows需管理员身份运行CMD,Linux需sudo)。
  • 刷新操作只清除本机缓存,不会影响网络设备(如路由器、防火墙)或上游DNS服务器的缓存。若问题未解决,需进一步排查。
  • 若不确定系统使用何种DNS缓存服务,可通过sudo lsof -i :53查看监听53端口的进程。

掌握本地DNS缓存刷新方法,能有效处理因缓存导致的域名解析错误,提高故障排查效率。

目录结构
全文
企业微信 企业微信
微信公众号 微信公众号
服务热线: 400-790-1688
电子邮箱: 3310008520@qq.com