换 DNS 后网站还是旧地址?Windows 缓存先取证,再做一次对照
改完 DNS,网页仍打不开,或者查询结果和预期不同,先保存当时的答案,再决定是否清缓存。清理之后证据消失,反而难判断问题原来在哪一层。评估机场推荐时,这种可复查的过程也比一句“换 DNS 就好了”更有价值。
先固定要检查的域名和环境
记录出错的完整主机名、时间、网络、当前节点和客户端模式。只记公开域名,不保存带账号令牌的订阅 URL。网站可能同时使用多个域名,首页与登录接口要分别看;不要拿另一个正常域名的答案解释当前故障。
下面命令中的 example.com 是演示域名,实际使用时替换成正在排查的主机名。本文适用于能运行相应命令的 Windows 环境,操作前保存正在编辑的网页内容。
第一步:只读取缓存,不急着改设置
在 PowerShell 中执行:
Resolve-DnsName -Name example.com -Type A -CacheOnly
Resolve-DnsName -Name example.com -Type AAAA -CacheOnly
微软说明 -CacheOnly 只使用本地缓存。记下记录类型、返回地址、TTL 或错误文字。没有缓存答案,只说明这次本地缓存查询没有取得该记录,不能直接写成域名不存在。A 与 AAAA 结果要分开记,别把 IPv4 的答案当作 IPv6 的证据。
需要查看缓存概况时可运行 ipconfig /displaydns;输出可能包含其他访问过的域名,提交工单时仅摘取必要部分。微软说明其中也可能有本地 Hosts 文件预载的记录,因此“在缓存列表里看见”本身不能证明它刚从某个公网 DNS 返回。

示意图:系统缓存与客户端解析分别取证,刷新哪一层,就核对哪一层的变化。
第二步:把查询选项写清楚
可补做一次:
Resolve-DnsName -Name example.com -Type A -DnsOnly -NoHostsFile
-DnsOnly 限定使用 DNS 协议,-NoHostsFile 跳过 Hosts 文件;这两个选项不等于“清空所有缓存”。如果使用 -Server 指定经核实的 DNS 服务器,还应把该服务器写进记录,不能把它的结果说成系统默认路径。不同解析器给出的答案不同,也需要继续结合实际访问验证。
第三步:有理由时再刷新系统缓存
若怀疑系统缓存保留了此前的失败或旧记录,保存上述结果后,再执行一次:
ipconfig /flushdns
该命令刷新 Windows DNS 客户端解析缓存。遇到权限或策略限制,按设备管理要求处理,不反复改网络设置。随后重做相同域名、相同类型的查询,并重新打开原来失败的网页。保持节点、网络和其他选项不变,才能把观察到的变化与本次操作联系起来。
第四步:系统变了,客户端未必一起变
Mihomo 文档列有自己的 DNS 缓存算法、解析服务器和节点域名解析配置。由此可以判断:Windows 命令的结果不必然代表客户端最终采用的答案。若客户端有独立解析链路,系统刷新也不能作为它已经刷新的证据。不要为了让两边数值一致而直接照抄整套 DNS 配置。
怎样算完成
保留一行前后记录:域名、A/AAAA、查询方式、结果、时间、原网页任务是否成功。若查询改善而网页仍失败,转查连接日志中的实际目标与失败阶段;若只有网页恢复,也只记录“本次任务恢复”,不推断所有节点或网站都已正常。清缓存是一次有边界的排查动作,不能代替实际连接验收。
资料核验日期:2026-11-03。命令含义参见 Resolve-DnsName 官方文档、ipconfig 官方文档;客户端边界参见 Mihomo DNS 文档。本文未声称做过服务商实测。
评论