清空 DNS 缓存
域名记录已经改过,但本机仍然解析到旧地址时,清空 DNS 客户端缓存是最快的验证手段。Windows 上用 ipconfig /flushdns,PowerShell 里对应 Clear-DnsClientCache;想先看缓存里到底存了什么,用 ipconfig /displaydns 或 Get-DnsClientCache。
基本信息
| 适用平台 | Windows 客户端与服务器 |
|---|---|
| 清缓存命令 | ipconfig /flushdns 或 Clear-DnsClientCache |
| 查看缓存 | ipconfig /displaydns 或 Get-DnsClientCache |
| 影响范围 | 只清本机 DNS 客户端缓存,不影响上游服务器 |
| 相关命令 | ipconfig /registerdns 重新注册本机记录 |
| 权限要求 | 普通用户即可执行 |
典型使用场景
- 域名解析记录变更后本机仍走旧地址,清缓存后立即复测
- 迁移切换期间对比不同机器的解析结果,排除本机缓存干扰
- 排查解析问题时先看缓存里的记录类型与剩余存活时间
- 配合重新注册修复域内本机记录不一致的问题
- 在变更脚本里自动清缓存,保证切换后本机立即生效
常用示例
常用示例
REM 查看当前缓存内容,含记录类型与存活时间
ipconfig /displaydns
REM 清空本机 DNS 缓存
ipconfig /flushdns
REM PowerShell 等价写法
powershell -c "Clear-DnsClientCache"
powershell -c "Get-DnsClientCache | Select-Object -First 10 Entry, RecordName, TimeToLive"
REM 域内机器重新注册自己的 DNS 记录
ipconfig /registerdns
REM 清完立刻复测解析结果
nslookup www.example.com现象与处理
| 现象 | 原因 | 处理 |
|---|---|---|
| 域名已改但解析仍是旧 IP | 本机缓存尚未过期 | 清空 DNS 缓存后重试 |
| 清完仍解析到旧地址 | 上游或权威记录存活时间未到期 | 换公共 DNS 对照或等待到期 |
| 浏览器里仍打不开 | 浏览器与应用有自己的缓存 | 关闭并重启该应用再验证 |
| 域内本机记录丢失 | 注册记录被清理 | 执行重新注册并检查动态更新设置 |
| 只有一台机器异常 | 该机缓存或 hosts 文件 | 与其他机器对比并检查 hosts |
清缓存只影响本机。上游递归服务器与权威服务器上的记录要等存活时间到期才会更新,因此解析仍不对时,应核对权威记录与剩余存活时间,而不是反复清本机缓存。
浏览器与部分运行环境会维护自己的 DNS 缓存。清完系统缓存后如果问题只出现在某个应用里,先重启那个应用验证,比继续折腾系统配置更有效。