Birds – Flying beyond the wall

Windows清除DNS缓存:命令、验证与无效排查

更新于 2026-10-26 · birds.mom

简答:Windows 10/11 清除 DNS 缓存,先在命令提示符运行 ipconfig /flushdns;若提示权限不足,再以管理员身份运行。刷新后用 nslookup 或 Resolve-DnsName 检查解析是否恢复,但查询结果不能单独证明本机缓存已清空。

定义:DNS 缓存是 Windows 在本机暂存域名解析结果的机制,清除 DNS 缓存就是删除本地 DNS 客户端缓存,让系统重新发起解析查询。

先试这一步:运行 ipconfig /flushdns

如果你刚修改 DNS、网站更换了解析地址,或某个域名出现解析错误,可以先清除 Windows 本机 DNS 客户端缓存。Windows 10 和 Windows 11 均适用。

  1. 打开“开始”菜单,搜索“命令提示符”或“Windows Terminal”。
  2. 先直接打开普通命令提示符;如果系统提示权限不足,再右键选择“以管理员身份运行”。
  3. 输入下面的命令并按 Enter:
  4. ipconfig /flushdns
  5. 看到“已成功刷新 DNS 解析器缓存”后,重新打开目标网页或继续执行解析验证。

Microsoft Learn 说明,/flushdns 会刷新并重置 DNS 客户端解析程序缓存,也可丢弃缓存中的负缓存条目。可查看 Microsoft 的 ipconfig 命令说明。

反馈含义下一步
已成功刷新 DNS 解析器缓存本机 DNS 客户端缓存刷新命令已完成用 nslookup 或 Resolve-DnsName 查询域名
拒绝访问或权限不足当前窗口权限不够,或系统策略限制了操作重新打开管理员命令提示符或 Terminal
找不到命令命令输入错误,或窗口不是正常的 Windows 命令环境确认拼写为 ipconfig /flushdns

PowerShell 替代方法与刷新前查看缓存

如果你使用 PowerShell,可以运行以下命令清除本机 DNS 客户端缓存:

Clear-DnsClientCache

Microsoft 将该命令定义为清除 DNS 客户端缓存,并明确说明它与 ipconfig /flushdns 等效。相关说明见 Clear-DnsClientCache 官方文档。

刷新前想查看缓存内容,可在命令提示符中运行:

ipconfig /displaydns

该命令显示 Windows DNS 客户端解析程序缓存,其中可能包含近期查询记录以及从 Hosts 文件预加载的条目。Microsoft 的 ipconfig 文档同时列出了 /displaydns 与 /flushdns 的用途。

PowerShell 也可以使用:

Get-DnsClientCache

它用于读取本地 DNS 客户端缓存。清除缓存不会删除网卡中设置的 DNS 服务器地址,也不会改变 Wi-Fi 密码。

刷新后如何验证解析是否恢复

DNS 刷新完成后,验证重点是“当前域名解析是否正常”,而不是仅凭查询结果断定本机缓存已经清空。建议使用一个实际打不开或刚修改过解析的域名进行测试。

  1. 打开命令提示符,运行:
  2. nslookup example.com
  3. 将 example.com 替换为实际域名,观察是否返回 IP 地址,以及显示的 DNS 服务器是否符合当前网络设置。
  4. 如果使用 PowerShell,可运行:
  5. Resolve-DnsName -Name example.com
  6. 重新打开浏览器,必要时完全退出浏览器后再测试目标网页。

Resolve-DnsName 用于对指定名称执行 DNS 查询,功能上类似 nslookup,还可以使用 -Server 指定 DNS 服务器或使用 -DnsOnly 限定查询方式。参数可参考 Resolve-DnsName 官方文档。

验证结果可以说明什么不能直接说明什么
返回新的或正常的 IP 地址当前查询能够获得解析结果不能单独证明浏览器或其他缓存层已清空
提示找不到域名当前 DNS 查询没有获得有效记录不能仅凭此判断一定是本机缓存问题
查询超时DNS 服务器、网络路径或安全软件可能未正常响应不能直接证明 flushdns 执行失败
解析正常但网页打不开DNS 可能已恢复仍需检查浏览器、代理、Hosts 文件或网络连接

刷新无效时:按缓存和连接层逐项排查

ipconfig /flushdns只处理 Windows 本机 DNS 客户端缓存。它不会同时清除浏览器自己的缓存或连接状态,也不会刷新路由器、递归 DNS 服务器和权威 DNS 中的记录。因此,刷新后仍打不开网页时,应按层定位。

  • 浏览器层:完全退出浏览器后重新打开,或使用无痕窗口测试。若只有一个浏览器异常,可优先检查浏览器设置与扩展。
  • Hosts 文件:检查 C:\Windows\System32\drivers\etc\hosts 是否存在目标域名的静态映射。Windows DNS 客户端解析时会先检查缓存和 Hosts 文件,再向配置的 DNS 服务器发起查询。
  • DNS 服务器层:使用 Resolve-DnsName -Name example.com -Server DNS服务器地址 对指定服务器查询,比较默认 DNS 与指定 DNS 的结果。
  • 代理或 VPN 层:确认系统代理、浏览器代理或 VPN 是否改变了 DNS 查询和网页连接路径。
  • 网络连接层:确认 Wi-Fi 已连接、飞行模式已关闭,并检查任务栏网络图标显示的状态。

Microsoft 的 DNS 客户端解析故障排查文档将常见原因分为客户端配置、DNS 服务器以及客户端与服务器之间的中间设备或网络配置,并说明 Hosts 文件可能让客户端不再向 DNS 服务器发起查询。

不要把其他网络命令当成清除 DNS 缓存

清除 DNS 缓存只需要执行对应的缓存命令,不必把其他网络重置命令一起运行。

命令主要作用是否是清除 DNS 缓存的必需步骤
ipconfig /flushdns刷新 Windows DNS 客户端缓存是,最直接的命令
Clear-DnsClientCache用 PowerShell 清除本机 DNS 客户端缓存是,替代方法
ipconfig /release释放 DHCP 分配的 IP 配置不是
ipconfig /renew续订 DHCP 配置不是
netsh winsock reset重置 Winsock 目录不是

Microsoft 文档将 /release 和 /renew 定义为 DHCP 配置相关操作,并未将它们定义为清除 DNS 客户端缓存的步骤。除非已经确认存在 DHCP 或 Winsock 相关故障,否则不要为了刷新 DNS 而直接执行这些更重的操作。

Windows 10/11 后续网络排查路径

如果域名解析正常但网页仍无法打开,或多个网站都无法访问,可以继续检查 Windows 的网络连接状态。Microsoft 支持页面适用于 Windows 10 和 Windows 11,并建议先确认 Wi-Fi 是否打开、网络是否显示“已连接”、飞行模式是否关闭。

  1. 点击任务栏右侧的网络图标,确认当前网络显示“已连接”。
  2. 打开“设置”中的“网络和 Internet”,检查 Wi-Fi 与飞行模式状态。
  3. 如果使用 Windows 11,可在“获取帮助”应用中运行自动网络和 Internet 疑难解答。
  4. 如果只有一个域名异常,对比另一个域名或另一条网络连接。
  5. 如果所有网站都异常,再检查网关、DNS 服务器、代理、防火墙和路由器。

相关步骤可参考 Microsoft 支持的 修复 Windows 中的网络连接问题。网络重置可能影响已有网络配置,执行前应记录自定义 DNS、代理和 VPN 设置。

如需继续排查,请遵守所在地法律与服务条款。

常见问题

Windows 清除 DNS 缓存必须使用管理员权限吗?

不一定。可以先在普通命令提示符中运行 ipconfig /flushdns;如果出现权限不足或命令未能完成,再关闭窗口并使用“以管理员身份运行”。

清除 DNS 缓存会修改我设置的 DNS 地址吗?

不会。ipconfig /flushdns 和 Clear-DnsClientCache 清除的是 Windows 本机 DNS 客户端缓存,不会主动删除网卡配置的 DNS 服务器地址。

清除 DNS 缓存后需要重启电脑吗?

通常不需要。执行命令后可直接用 nslookup 或 Resolve-DnsName 查询,再重新打开浏览器测试。只有其他应用仍保留旧连接状态时,才考虑重启应用。

为什么 nslookup 能解析,网页还是打不开?

这说明当前域名查询可能正常,但网页连接仍可能受浏览器状态、Hosts 文件、代理、VPN、防火墙、网络路径或目标服务影响。应继续按缓存和连接层排查。

如何确认问题来自 Hosts 文件?

检查 C:\Windows\System32\drivers\etc\hosts 是否包含目标域名映射。若文件中存在对应记录,Windows 可能直接使用该地址,而不再向配置的 DNS 服务器查询。

可以用 Clear-DnsServerCache 清除普通电脑的 DNS 缓存吗?

不应混用。本文处理的是 Windows 客户端本机缓存;Clear-DnsServerCache 面向 DNS 服务器角色。服务器环境应根据其角色和 Microsoft DNS Server 文档选择命令。

返回旧 IP 是否一定代表 Windows DNS 缓存没有清除?

不一定。旧结果可能来自浏览器、路由器、递归 DNS 或权威 DNS 数据。可使用 Resolve-DnsName 的 -Server 参数对比指定 DNS,并结合不同网络测试。

相关阅读

参考资料

  1. ipconfig | Microsoft Learn
  2. Clear-DnsClientCache | Microsoft Learn
  3. Resolve-DnsName | Microsoft Learn
  4. Troubleshoot DNS Client Name Resolution Issues - Windows Client | Microsoft Learn
  5. 修复 Windows 中的网络连接问题 | Microsoft Support