切换节点后域名仍用旧 IP?DNS 缓存、TTL 与刷新范围排查
切换代理节点后域名仍返回原来的 IP,不一定是缓存出错。网站地址与代理出口地址是两件事:更换出口,并不要求网站的解析结果改变。只有确认目标记录应该不同,或者旧结果持续导致访问异常时,才需要按应用、本机和递归解析器分层排查,避免反复刷新无关的缓存。
资料核对日期:2026-10-05。本文以 Windows 的本机查询为例;使用远端解析或 Fake-IP 的客户端,还应结合本站 DNS 与 Fake-IP 排障 确认答案由谁生成。
TTL 表示什么,为什么不是统一倒计时
DNS 资源记录的 TTL 为缓存复用提供时间限制。解析器可以在有效期内使用已缓存的结果,并不需要每次请求都查询权威服务器。但你看到的 TTL 属于这次查询的回答,不能把它当成所有浏览器、设备和解析器同步更新的全球倒计时。RFC 9520 对 DNS 缓存的说明
此外,不同时间、网络或解析器返回不同地址,也不能单凭这一点认定其中一个被污染。网站可能使用多个地址或调度机制;需要结合完整域名、记录类型、查询来源与访问结果判断。本文不预设某个公共 DNS 永远更准确,也不提供未经核验的固定“生效分钟数”。
| 缓存或回答所在位置 | 常见检查方式 | Windows 刷新能否直接清除 |
|---|---|---|
| 本机 DNS 客户端 | 查看本机缓存,刷新前后对照 | 能清除其动态缓存等内容 |
| 浏览器或其他应用内部 | 查看应用解析方式,重新发起请求 | 不能保证 |
| 代理客户端或远端解析服务 | 查看当前配置和日志 | 不能保证 |
| 上游递归 DNS 服务器 | 指定同一解析器查询并记录 | 不能直接清除 |
| Hosts 文件中的静态映射 | 核对是否手工配置过目标域名 | 不会删除文件内容 |
这张表用来确定操作范围,并不是每个设备都必然存在全部缓存层。先找实际请求经过的路径,再决定下一步。
第一步:固定域名、记录类型与解析路径
记录完整域名,不要把网站首页与另一个子域混在一起。A 与 AAAA 记录也要分开比较,否则一次 IPv4 回答和一次 IPv6 回答看起来不同,本来就不足以说明缓存异常。
如果客户端使用远端 DNS、浏览器使用独立的安全 DNS,或 TUN 接管了查询,系统命令的结果可能与应用看到的结果不同。这时,本机命令只能说明它自己的查询路径,不能替浏览器证明所有请求都已更新。还应记录切换节点前后是否同时改变了解析配置。
在 PowerShell 中先做只读查询:
Resolve-DnsName -Name example.com -Type A
将 example.com 换成需要排查的域名,记录查询时间、地址及返回的 TTL。目标涉及 IPv6 时另外查询 -Type AAAA。此命令用于观察解析结果,不是网站连通性测试;返回地址后,后续的 TCP、TLS 或 HTTP 仍可能失败。Resolve-DnsName 官方说明
第二步:把本机缓存与直接查询对照起来
查看 Windows DNS 客户端缓存:
ipconfig /displaydns
输出可能包含访问过的域名,以及来自 Hosts 的预加载条目。只在本机查找目标域名即可,不要公开整份访问记录。缓存中没有目标,也不能证明所有应用都没有缓存。ipconfig 官方说明
再查询同一个域名:
nslookup example.com
微软排障文档说明,nslookup 不使用 Windows DNS 客户端缓存。它适合与本机缓存对照,但仍会向 DNS 服务器查询;上游可能已经缓存答案,代理也可能接管请求。因此,这不是“直接得到最新权威答案”的保证。微软 DNS 客户端排障说明
如果要指定解析器,先选定自己允许使用且能够连接的服务器,记录实际地址,在前后对照中保持一致。连续更换多个解析器会增加变量,反而难以确认变化来自哪里。
第三步:只刷新一次,再验证同一目标
有证据指向本机缓存时,执行:
ipconfig /flushdns
它重置 Windows DNS 客户端缓存,包括相关动态条目和负缓存;不会删除 Hosts 文件,也不能远程清空上游服务器。若提示权限不足,应按系统要求使用管理员终端,而不是改用网络重置命令。刷新参数的作用范围
随后重复相同的域名与记录类型查询,再让目标应用发起一次新的访问。不要同时清除浏览器全部数据、重装客户端和更换节点。如果系统查询已变而应用仍异常,下一步是查应用自己的路径;如果两者解析成功但网页仍失败,就转查连接阶段。已有连接也可能继续使用此前建立的路径,单次刷新不能保证它们全部重新建立。
失败也会被缓存,错误名称要记清
“域名不存在”、查询超时与服务器失败是不同结果。DNS 不只缓存成功答案,负回答以及部分解析失败也有对应的缓存规则。不要把每次失败统称为 NXDOMAIN,更不要推断“没返回 IP,所以一定没缓存”。RFC 9520:解析失败缓存
刷新本机后立即出现同样错误,可能是请求再次从上游取得失败,也可能是问题根本不在本机。应记录原始错误、查询来源与时间,而不是连续重复刷新。若使用 Fake-IP,返回的合成地址也不能与网站真实地址直接比较,先确认该模式是否正在工作。
常见问题与可填写记录
换节点后 IP 没变,还要继续刷新吗?
先说明你比较的是网站解析地址还是公网出口地址。如果只是网站地址相同、访问也正常,没有必要为了让数字变化而刷新。出口是否改变需要另做路径检查。
本机刷新成功,为什么浏览器还没有恢复?
本机命令成功只表示该操作完成,浏览器可能使用另一条解析路径,或故障发生在解析之后。用相同域名的新请求和应用日志复查,再决定是否检查代理规则或连接错误。
| 项目 | 你的记录 |
|---|---|
| 时间、完整域名、A 或 AAAA | 待填写 |
| 应用与实际解析路径 | 待填写 |
| 刷新前地址、TTL 或错误 | 待填写 |
| nslookup 对照结果 | 待填写 |
| 一次刷新后的查询与访问结果 | 待填写 |
通过这份记录区分“回答没有变化”与“访问失败”。前者可能完全正常;后者需要继续定位具体阶段,而不是把 DNS 刷新当作万能修复。
评论