DNS解析异常时需刷新本地缓存:Windows用ipconfig /flushdns;Linux依服务不同分别执行sudo systemd-resolve --flush-caches、sudo systemctl restart nscd/dnsmasq或sudo systemctl reload NetworkManager。

如果您尝试访问某个网站时出现解析异常或旧IP仍被调用,很可能是本地 DNS 缓存中保存了过期或错误的记录。以下是针对不同操作系统刷新 DNS 缓存的具体命令与操作方法:
一、Windows 系统刷新 DNS 缓存
Windows 自带 DNS 客户端缓存服务,通过命令提示符可直接清空,无需安装额外工具。该操作会强制系统丢弃所有已缓存的域名解析结果,后续请求将重新向 DNS 服务器发起查询。
1、按下 Win + R 组合键,打开“运行”窗口。
2、在运行框中输入 cmd,按回车键启动命令提示符。
3、在命令提示符中输入 ipconfig /flushdns 并回车执行。
4、若看到提示 “已成功刷新 DNS 解析缓存”,说明操作完成。
二、Linux 系统使用 systemd-resolved 刷新缓存
多数现代 Linux 发行版(如 Ubuntu 18.04+、Fedora、Debian 10+)默认启用 systemd-resolved 作为本地 DNS 解析器,其缓存可通过专用命令清除,不依赖服务重启。
1、打开终端(Terminal)。
2、执行命令:sudo systemd-resolve --flush-caches。
3、无输出即表示执行成功;可选验证:运行 systemd-resolve --statistics 查看缓存条目数是否归零。
三、Linux 系统重启 nscd 服务刷新缓存
nscd(Name Service Caching Daemon)是传统 Linux 发行版中用于缓存主机名、用户、组等信息的服务,DNS 缓存功能包含在其中。重启该服务将清空全部缓存数据。
1、在终端中确认 nscd 是否运行:sudo systemctl is-active nscd。
2、若返回 active,执行:sudo systemctl restart nscd。
3、重启后,nscd 将以空缓存状态重新加载配置并开始新缓存周期。
四、Linux 系统重启 dnsmasq 服务刷新缓存
dnsmasq 常用于路由器、轻量级服务器或开发环境,兼具 DHCP 和 DNS 缓存功能。其缓存仅存在于运行时内存中,重启服务即可彻底清空。
1、检查 dnsmasq 状态:sudo systemctl is-active dnsmasq。
2、若服务处于活动状态,执行:sudo systemctl restart dnsmasq。
3、重启完成后,所有先前缓存的 DNS 查询结果均被丢弃,下次查询将转发至上游 DNS 服务器。
五、Linux 系统重载 NetworkManager 刷新缓存
NetworkManager 在部分发行版(如 CentOS/RHEL 8+、Fedora)中负责管理 DNS 配置并可能缓存解析结果。重载其配置可触发 DNS 设置重读与缓存清理。
1、在终端中执行:sudo systemctl reload NetworkManager。
2、该操作不会中断网络连接,但会使 NetworkManager 重新加载 resolv.conf 及相关 DNS 设置。
3、若此前通过 NetworkManager 设置了 DNS 服务器,此操作将同步更新其内部解析行为。










