Fangqi.cc —— 放弃封锁,连接自由返回首页

Windows怎么清除DNS缓存?Win10/11命令、验证与排查步骤

更新于 2026-10-28 · fangqi.buzz

简答:Windows 10和Windows 11清除DNS缓存,最直接的方法是在命令提示符或Windows Terminal中执行 ipconfig /flushdns。看到“已成功刷新 DNS 解析缓存”后,再用 nslookup 或 Resolve-DnsName 查询目标域名。清缓存只处理本机DNS客户端缓存,不能直接修复DNS服务器、hosts文件、浏览器缓存或网站本身的问题。

定义:DNS缓存是Windows在本机保存的域名解析结果,清除DNS缓存就是删除这些本地缓存记录,让后续查询重新向当前配置的DNS服务器请求解析。

先试这一步:Windows清除DNS缓存速查

适用范围:Windows 10、Windows 11,以及微软文档列出的相关Windows Server版本。先保存正在进行的工作,然后按下面步骤操作。

  1. 按 Win 键,搜索“命令提示符”或“Windows Terminal”。
  2. 打开后输入 ipconfig /flushdns,按回车。
  3. 看到系统提示DNS解析缓存已刷新,即表示命令执行完成。
  4. 重新打开原来打不开的页面,或用下面的验证命令查询域名。

Microsoft Learn 的 ipconfig 文档确认,/flushdns用于刷新并重置DNS客户端解析器缓存,/displaydns用于显示本机DNS客户端缓存内容。

目的命令预期结果
清除本机DNS缓存ipconfig /flushdns出现成功刷新缓存的提示
查看本机DNS缓存ipconfig /displaydns显示当前缓存记录;缓存也可能在查询后重新生成
测试域名解析nslookup example.com返回域名对应的解析结果或错误信息
PowerShell查询Resolve-DnsName -Name example.com返回DNS记录,便于继续判断解析是否正常

命令提示符、Windows Terminal和PowerShell怎么选

清除DNS缓存不要求必须使用某一个窗口。命令提示符和Windows Terminal都可以运行ipconfig /flushdns;如果你习惯PowerShell,也可以使用Clear-DnsClientCache。微软文档说明,该PowerShell命令用于清除DNS客户端缓存,作用等同于ipconfig /flushdns。

  1. 命令提示符:搜索“命令提示符”,打开后执行ipconfig /flushdns。
  2. Windows Terminal:搜索“Windows Terminal”并打开,在当前标签页执行同一命令。
  3. PowerShell:打开PowerShell,执行Clear-DnsClientCache。

如果普通窗口提示权限不足,关闭窗口后重新搜索对应程序,选择“以管理员身份运行”再重试。微软DNS客户端排障文档在检查网络配置时使用管理员命令提示符;Cisco的官方说明也将清理命令列为管理员命令提示符操作,因此遇到权限错误时优先使用管理员窗口。不要为了清除DNS缓存顺手执行ipconfig /release、ipconfig /renew或其他网络重置命令,因为这些命令会改变或重新获取网络配置,处理范围并不相同。

需要PowerShell替代命令时,可参考Microsoft Learn 的 Clear-DnsClientCache 文档;查询域名时,可参考Microsoft Learn 的 Resolve-DnsName 文档。

清除后怎么确认真的生效

不要把“缓存列表为空”当作唯一成功标准。DNS缓存可能在你重新访问网站或执行查询后马上重新生成,因此更可靠的做法是记录目标域名、执行刷新命令,再进行一次独立查询。

  1. 先执行ipconfig /flushdns。
  2. 用nslookup example.com查询目标域名,把返回的服务器和地址记录下来。
  3. 也可以在PowerShell中执行Resolve-DnsName -Name example.com,查看返回的记录类型、地址和错误信息。
  4. 重新打开业务页面,确认问题是否仍然存在。

微软DNS客户端排障文档指出,nslookup不使用Windows客户端缓存,而是向客户端配置的DNS服务器发起查询,因此适合用来区分“本机缓存问题”和“DNS服务器或网络问题”。如果查询仍然失败,继续检查当前IP地址、默认网关和DNS服务器配置,而不是反复清理缓存。

如需查看本地缓存,可执行ipconfig /displaydns。如果其中出现“名称不存在”等失败记录,说明此前的负面解析结果可能被本机缓存;清理后再查询可以验证这类记录是否被重新获取。相关判断可参考Microsoft Learn 的DNS客户端故障排除说明。

清除DNS缓存无效时,按缓存层级排查

清除DNS缓存只影响Windows本机的DNS客户端缓存。它不会自动清理浏览器内部缓存、路由器缓存、上游DNS服务器缓存,也不会修改hosts文件。假如页面仍打不开,按下面顺序检查,避免把所有问题都归因于DNS缓存。

现象优先检查下一步
只有一个域名打不开用nslookup或Resolve-DnsName查询该域名对比返回结果与业务方提供的正确解析信息;无法确认时联系系统维护方
多个域名都打不开执行ipconfig /all检查IP、网关和DNS服务器确认网络连接正常,再检查DNS服务器是否可达
命令成功但浏览器仍显示旧页面浏览器缓存、浏览器自身解析状态和页面会话完全退出并重新打开浏览器,必要时使用其他浏览器对照
解析结果始终不符合预期C:\Windows\System32\drivers\etc\hosts文件检查是否存在目标域名的固定记录;修改前先备份并遵循设备或企业管理要求
查询超时DNS服务器地址、局域网连接和安全策略先确认IP、网关和DNS服务器,再进行多网络、多时段复测

微软资料将DNS问题区分为客户端配置、DNS服务器配置以及客户端与DNS服务器之间的网络路径问题。若多次清理后仍失败,先运行ipconfig /all,确认DNS服务器地址和默认网关;再用nslookup或Resolve-DnsName测试。单次查询失败不能直接证明线路或服务不可用,应固定设备、目标域名和网络,进行多次对照记录。

如果只是浏览器打不开,而命令行查询正常,可以先完全退出浏览器再打开;仍无效时,再检查浏览器缓存、浏览器扩展、企业安全策略和hosts文件。Cisco的文档也将浏览器缓存列为独立处理对象,说明清理系统DNS缓存与清理浏览器缓存不是同一个操作。

需要跨境办公网络或业务系统连接排查时,建议先完成本机DNS、网关、解析和多设备对照,再评估线路问题。若清缓存后仍需要检查网络路径,可先记录延迟、丢包、解析结果和业务页面表现,再进行复测。

常见错误与停止条件

  • 把清DNS当成提速命令:它主要用于刷新本机解析记录,不能保证网页加载速度提升。
  • 只看ipconfig /displaydns:缓存可能因新查询重新出现,列表变化不能单独证明故障已解决。
  • 连续执行很多网络重置命令:这些命令的作用不同,可能导致当前连接中断或改变网络配置,除非明确知道用途,否则先不要混用。
  • 忽略DNS服务器:如果配置的DNS服务器地址错误、不可达或返回错误结果,重复清理本机缓存不会解决问题。
  • 忽略hosts文件:hosts中的固定记录可能在查询DNS服务器前影响结果,清缓存无法删除它。

停止条件:如果nslookup或Resolve-DnsName已经返回预期记录,且目标业务页面恢复,就不必继续执行网络重置。若仍失败,保留命令输出、DNS服务器地址、测试时间和业务现象,交给网络管理员或系统维护方继续定位。

常见问题

Windows清除DNS缓存需要管理员权限吗?

普通窗口通常可以先尝试执行ipconfig /flushdns;如果出现权限不足或命令执行失败,再以管理员身份打开命令提示符、Windows Terminal或PowerShell后重试。不同系统策略可能存在差异,不能把管理员权限当作所有设备的绝对前置条件。

执行ipconfig /flushdns后没有看到缓存为空,是否说明失败?

不一定。只要命令返回成功提示,就表示刷新操作已完成;你随后访问网站或执行查询时,新的DNS记录可能马上重新写入缓存。可以用nslookup或Resolve-DnsName验证解析结果。

清除DNS缓存后网站还是打不开怎么办?

先用ipconfig /all检查IP地址、默认网关和DNS服务器,再用nslookup或Resolve-DnsName查询目标域名。若命令行解析正常,继续检查浏览器缓存、hosts文件、浏览器扩展和业务系统本身;若查询超时,则检查DNS服务器可达性和局域网连接。

ipconfig /flushdns会删除已经设置的DNS服务器吗?

不会。该命令刷新Windows DNS客户端缓存,不等同于修改网卡DNS配置,也不会自动清理路由器或上游DNS服务器缓存。

PowerShell清除DNS缓存用什么命令?

可以使用Clear-DnsClientCache。微软文档说明它用于清除DNS客户端缓存,作用等同于ipconfig /flushdns。执行后仍建议使用Resolve-DnsName或nslookup验证目标域名。

相关阅读

参考资料

  1. Microsoft Learn:ipconfig命令
  2. Microsoft Learn:对DNS客户端进行故障排除
  3. Microsoft Learn:Clear-DnsClientCache
  4. Microsoft Learn:Resolve-DnsName
  5. Cisco:刷新或清除计算机和服务器上的DNS缓存