为什么需要清除DNS缓存?
清除 DNS 缓存是解决域名问题的简单但重要的操作。主要原因如下:
- DNS记录变更传播: 更改 A、CNAME 或其他记录后,本地客户端可能仍然指向旧的 IP 地址。.
- 修复 DNS 劫持或缓存投毒问题: 清除缓存可以阻止简单的攻击。.
- 即时连接问题: 服务器迁移或基础架构变更后,有时需要清除本地缓存。.
- 排查延迟和路由问题: 对于交易者和游戏玩家来说,错误的 DNS 可能会导致连接到错误的服务器或 CDN。.
Windows:分步实用命令
Windows 10 / 11(最快的方法)
- 以管理员身份打开命令提示符:
- 开始 → 命令提示符 → 右键单击 → 以管理员身份运行
- 运行刷新命令:
ipconfig /flushdns检查缓存内容(可选):
ipconfig /displaydns解释: 命令 ipconfig /flushdns 清除 DNS 客户端服务缓存。如果您使用的是本地解析器,例如 unbound 或 dnsmasq,则需要重启相关服务。.
(在某些情况下)重启 DNS 客户端服务
如果问题仍然存在,您可以重启 DNS 客户端服务。大多数情况下,停止此服务是安全的,但在生产服务器上要格外小心。.
net stop dnscache
net start dnscache
macOS:按版本划分的命令
不同版本的 macOS 清除缓存的方法有所不同。在大多数版本中,运行以下两条命令即可:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder笔记: 在某些较旧的版本(OS X 10.10.4 至 10.10.10)中 发现工具 已使用;但同时运行以上两个命令是最安全的方法。.
Linux:不同的发行版和解析器
Linux 有多种可能的解析器和缓存: systemd-resolved, nscd, dnsmasq, 无界 等等。你应该根据服务情况采取行动。.
systemd-resolved(常见于新版 Ubuntu)
sudo systemd-resolve --flush-caches在新版本中,您还可以使用以下命令:
sudo resolvectl flush-caches显示统计信息:
systemd-resolve --statisticsnscd
sudo systemctl restart nscd或者在某些分布中:
sudo /etc/init.d/nscd restartdnsmasq
sudo systemctl restart dnsmasq无界
要清除特定区域的缓存或重启服务:
sudo unbound-control flush_zone example.com
sudo systemctl restart unbound容器和 Docker
如果解析器运行在容器内,请重启该容器:
docker restart <container_id>在 Kubernetes 中使用 CoreDNS:
kubectl -n kube-system rollout restart deployment coredns
浏览器:内部 DNS 和套接字刷新
许多浏览器都有自己的内部 DNS 缓存;即使系统刷新后,浏览器可能仍然保留旧记录。.
Google Chrome / Brave / Edge(基于 Chromium)
- 在地址栏中输入:
chrome://net-internals/#dns以及“清除主机缓存”点击。. - 要关闭套接字:打开
chrome://net-internals/#sockets→ 关闭空闲套接字 → 冲洗插座池.
笔记: 在 Chrome 的新版本中,net-internals 有时会发生变化;在这种情况下,请完全关闭浏览器或清除应用程序缓存。.
Mozilla Firefox
- 在地址栏中输入:
关于:networking#dns以及“清除 DNS 缓存”点击。. - 或者在
关于:配置数量网络.dns缓存过期暂时设为零,然后恢复到原始值。.
狩猎之旅
Safari 使用系统 DNS 缓存,因此运行 macOS 命令后只需重新启动 Safari 即可。.
路由器和互联网服务提供商:当问题超出客户端范围时
- 物理重启路由器或调制解调器: 清除路由器DNS缓存的最简单方法。.
- 检查路由器的 DNS 解析器:在管理面板中,有时会有“刷新 DNS”或“重启 DNS”的选项。.
- 使用公共 DNS 进行测试: 1.1.1.1 (Cloudflare) 8.8.8.8 (谷歌)或 9.9.9.9 (Quad9)。.
- 如果出现路由或 CDN 问题,可能需要检查 BGP 路由和 CDN 设置。.
确认
nslookup 和 dig
要检查解析器是否已返回新记录,请使用以下命令:
nslookup example.com
dig +trace example.com
dig example.com @8.8.8.8Ping 和 traceroute
查看目标 IP 地址和网络路由:
ping example.com
traceroute example.com
tracert example.com要检查全球范围内的传播情况,您可以使用在线工具,例如 whatsmydns.net 使用。.
使用案例和场景:针对不同受众的特别提示
WordPress 和网站管理员
- 在更改 IP 地址或迁移站点之前,请降低 TTL 值(例如,降低到 0.001)。 300 秒)以加快传播速度。.
- 更改完成后,请清除服务器、CDN 和浏览器的缓存。.
- 如果您正在使用 DNSSEC,请检查签名是否设置正确,以避免出现错误。.
DevOps 和网络管理员
- 在具有负载均衡器和 CDN 的云基础设施中,记录更改后会立即发生 挖 用于检查 TTL 值。.
- 对于对延迟敏感的服务,请使用靠近服务器位置的解析器,或者利用具有高 SLA 的内部 DNS。.
- 在 Kubernetes 中,更改服务后,检查 CoreDNS 并根据需要重新启动。.
交易者和游戏玩家
- 如果您的交易或游戏 VPS 指向的是旧的 IP 地址,请先刷新客户端和浏览器的 DNS。.
- 选择附近的服务器位置并使用专用的交易/游戏 VPS 服务器可以改善延迟和连接稳定性。.
人工智能和GPU云/渲染
- 更改基础架构(例如迁移)后,刷新客户端 DNS 缓存和任何本地解析器,以连接到正确的节点。.
- 在私有云网络中使用内部 DNS(私有 DNS 区域)并管理 TTL 可以帮助您更好地控制传播。.
安全和专业提示
其他安全提示:
- 激活 基于 HTTPS 的 DNS(DoH) 或者 基于TLS的DNS(DoT) 它可以防止简单的窃听和劫持。.
- 使用 DNSSEC 建议进行核实以确保记录的真实性。.
最佳设置和实用建议
- 更改 DNS 记录之前: 将 TTL 值降低到一个较短的时间(例如,降低到 300 秒)然后确认后增加 TTL。.
- 对关键服务使用高 SLA、多解析器 DNS。.
- 对于企业用户,提供在常用系统上刷新 DNS 的内部指南。.
- 在云基础设施中,使用内部 DNS 和私有区域进行内部服务,并利用 CDN 和 BGP 进行流量分发。.
技术服务和支持
我们与超过 全球85个地点专用服务器、用于交易和游戏的 VPS、用于 AI 和渲染的 GPU、防 DDoS 服务器、CDN 和 BGP 解决方案已准备就绪,可提供低延迟和稳定的体验。.
技术团队可协助处理以下情况:
- 检查不同位置的传播情况
- 请推荐最佳的解析器和 TTL 设置
- 帮助设置私有 DNS 或托管 DNS
- 提供 CDN/BGP 解决方案以降低延迟并提高可用性
总结与结论
清除 DNS 缓存是网络故障排除和管理中一项简单但至关重要的任务。在 Windows、macOS、Linux 和浏览器中,通常只需快速运行以下命令即可解决问题。.
如果您需要检查从多个位置传播的情况,或者需要帮助为敏感服务器设置 DNS,技术团队随时准备提供帮助和建议。.









