Windows清除DNS缓存:命令、验证与无效排查
简答:Windows 10/11 清除 DNS 缓存,先在命令提示符运行 ipconfig /flushdns;若提示权限不足,再以管理员身份运行。刷新后用 nslookup 或 Resolve-DnsName 检查解析是否恢复,但查询结果不能单独证明本机缓存已清空。
定义:DNS 缓存是 Windows 在本机暂存域名解析结果的机制,清除 DNS 缓存就是删除本地 DNS 客户端缓存,让系统重新发起解析查询。
先试这一步:运行 ipconfig /flushdns
如果你刚修改 DNS、网站更换了解析地址,或某个域名出现解析错误,可以先清除 Windows 本机 DNS 客户端缓存。Windows 10 和 Windows 11 均适用。
- 打开“开始”菜单,搜索“命令提示符”或“Windows Terminal”。
- 先直接打开普通命令提示符;如果系统提示权限不足,再右键选择“以管理员身份运行”。
- 输入下面的命令并按 Enter:
ipconfig /flushdns- 看到“已成功刷新 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 刷新完成后,验证重点是“当前域名解析是否正常”,而不是仅凭查询结果断定本机缓存已经清空。建议使用一个实际打不开或刚修改过解析的域名进行测试。
- 打开命令提示符,运行:
nslookup example.com- 将
example.com替换为实际域名,观察是否返回 IP 地址,以及显示的 DNS 服务器是否符合当前网络设置。 - 如果使用 PowerShell,可运行:
Resolve-DnsName -Name example.com- 重新打开浏览器,必要时完全退出浏览器后再测试目标网页。
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 是否打开、网络是否显示“已连接”、飞行模式是否关闭。
- 点击任务栏右侧的网络图标,确认当前网络显示“已连接”。
- 打开“设置”中的“网络和 Internet”,检查 Wi-Fi 与飞行模式状态。
- 如果使用 Windows 11,可在“获取帮助”应用中运行自动网络和 Internet 疑难解答。
- 如果只有一个域名异常,对比另一个域名或另一条网络连接。
- 如果所有网站都异常,再检查网关、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,并结合不同网络测试。