发布:admin2026-08-31 21:27:21 7028条浏览分类:跨服战场
清除 DNS Windows缓存 macOS 和 Linux 系统,运行平台的 flush 命令可以删除已存储的主机名到 IP 地址的对应记录,并强制重新查找。 ipconfig /flushdns 在Windows上, dscacheutil -flushcache 和 killall -HUP mDNSResponder 在 macOS 上,以及 resolvectl flush caches 或者在 Linux 系统上重启解析器,然后进行验证。 nslookup or dig.
清除 DNS 缓存修复了诸如此类的问题 网站无法加载,IP 解析错误 DNS 更改,或间歇性出现 404 错误。在本指南中,我将向您展示如何彻底冲洗。 DNS 在 Windows、Linux 和 Mac 系统上,验证结果,清除浏览器和路由器缓存,并解决疑难问题。
什么是 DNS 缓存以及何时应该清除缓存?DNS 缓存是临时存储 系统和应用程序会保存主机名到 IP 地址的映射关系,以加快未来的查找速度。
它尊重 TTL(生存时间)。 (活下去的时间)但是,迁移后缓存可能会失效。 DNS 记录编辑、CDN 更改或切换网络/VPN 时。
清除 DNS 缓存时:-
最近更改 DNS 记录(A、CNAME、MX)仍然显示旧结果。遇到“找不到服务器 IP 地址”或意外的 404/ERR_NAME_NOT_RESOLVED 错误。交换的 DNS 解析器(例如,解析到 1.1.1.1 或 8.8.8.8)或切换 VPN/代理。怀疑是恶意软件或网络问题导致缓存被污染或损坏。快捷命令:冲洗 DNS 适用于 Windows、macOS 和 LinuxWindows 11 / 10 / 8 / 7ipconfig /flushdns
ipconfig /displaydns # optional: view cache after flush
macOS(Sonoma、Ventura、Monterey、Big Sur)sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
# Optional: verify
sudo killall -INFO mDNSResponder
Linux(systemd 已解析,NetworkManager/dnsmasq,nscd,BIND)# systemd-resolved (Ubuntu 18+, Debian 10+, Fedora, etc.)
sudo resolvectl flush-caches
# or older:
sudo systemd-resolve --flush-caches
# NetworkManager (often with dnsmasq)
sudo systemctl restart NetworkManager
# dnsmasq standalone
sudo systemctl restart dnsmasq
# nscd (Name Service Cache Daemon)
sudo systemctl restart nscd
# BIND (named) local resolver
sudo rndc flush
# Unbound local resolver
sudo unbound-control flush_zone .
逐步操作:清晰 DNS 各平台缓存Windows:使用命令提示符(管理员)此方法适用于Windows 11/10/8/7和 Windows Server。
按下“开始”按钮,输入“cmd”。右键单击“命令提示符”>“以管理员身份运行”。冲洗 DNS 客户端缓存。ipconfig /flushdns
你应该看到“已成功冲洗” DNS 解析器缓存。”可选的: 显示缓存以确认其已清除。ipconfig /displaydns
如果名称解析仍然失败,您可以重置套接字/Winsock(这将重置网络堆栈;请谨慎使用):
netsh winsock reset
netsh int ip reset
Windows:PowerShell 替代方案以管理员身份运行 PowerShell 并清除客户端缓存:
Clear-DnsClientCache
# Optional: query DNS with PowerShell
Resolve-DnsName example.com
macOS:终端命令打开终端并运行这两条命令。它们在最新的 macOS 版本(Big Sur 到 Sonoma)中安全有效。
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
苹果公司仅在较早的 OS X Yosemite 系统中短暂使用过另一款实用程序。如今大多数用户都可以忽略它。
# Yosemite (10.10) only
sudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches
Linux:Ubuntu/Debian/Fedora/RHELLinux 的行为取决于所使用的解析器栈。
请按顺序尝试以下方法:
已通过 Systemd 解析(大多数现代发行版):sudo resolvectl flush-caches
# Verify statistics
resolvectl statistics
NetworkManager(桌面发行版):sudo systemctl restart NetworkManager
dnsmasq / nscd / BIND / Unbound(本地解析器):sudo systemctl restart dnsmasq
sudo systemctl restart nscd
sudo rndc flush # BIND
sudo unbound-control flush_zone . # Unbound: flush all
如果你的发行版缺少任何 DNS 缓存服务,操作系统层面无需刷新任何内容。您的应用程序或 浏览器可能仍会缓存数据。 (见下文)。
浏览器 DNS 缓存(Chrome、Edge、Firefox、Safari)Google Chrome / Microsoft Edge: 在MyCAD中点击 软件更新 chrome://net-internals/#dns or edge://net-internals/#dns,然后点击 “清除主机缓存”如果您的版本中没有此功能,关闭所有浏览器窗口并重新启动通常可以清除应用内缓存。您也可以刷新套接字。 chrome://net-internals/#sockets.Mozilla Firefox浏览器: 访问 about:networking#dns 然后点击“清除”。 DNS 缓存”。Safari: 清除 macOS 数据后,退出并重新启动 Safari。 DNS 在系统层面。确认 DNS 已清除并正在解决新鲜问题使用 nslookup 或 dig 进行测试刷新页面后,使用系统解析器进行测试,然后与公共解析器(例如)进行比较。 Cloudflare (1.1.1.1)或 Google(8.8.8.8)。
# Windows/macOS/Linux
nslookup yourdomain.com
# Compare via Cloudflare
nslookup yourdomain.com 1.1.1.1
# Compare via Google
nslookup yourdomain.com 8.8.8.8
# Linux/macOS detailed query
dig +trace yourdomain.com
PowerShell 验证(Windows)Resolve-DnsName yourdomain.com -Server 1.1.1.1
Resolve-DnsName yourdomain.com -Server 8.8.8.8
如果公共解析器显示了预期的新 IP 地址,而您的系统解析器没有显示,则说明本地缓存或路由器/ISP 缓存仍然过期。请继续执行以下高级步骤。
高级:路由器和本地 DNS 解析器缓存家用/办公路由器许多路由器会缓存 DNS重启路由器或登录其管理界面并重新启动。 DNS 服务重启后,请更新客户端的 IP 地址(禁用/启用 Wi-Fi 或运行以下命令)。 ipconfig /renew 在 Windows 上)。
Pi-hole / dnsmasq / 广告拦截设备如果你在树莓派或NAS上运行Pi-hole或dnsmasq,也需要在那里进行刷新:
pihole -f # Pi-hole: flush cache
sudo systemctl restart pihole-FTL
sudo systemctl restart dnsmasq
故障排除:如果冲洗 DNS 不起作用检查 hosts 文件手动输入会覆盖 DNS删除过时的行并保存。
# Windows
C:\Windows\System32\drivers\etc\hosts
# Linux/macOS
/etc/hosts
DNS 通过 HTTPS (DoH) 或 VPN启用 DoH 的浏览器可能会绕过系统 DNS暂时禁用 DoH 或将其设置为您所需的提供商。VPN 客户端也可以强制启用 DoH。 DNS 通过他们的隧道;断开或更新 VPN DNS 设置。
IPv6 vs IPv4如果您的 A 记录已更改但 AAAA 记录未更改(反之亦然),则客户端可能仍会访问旧地址。请确保两条记录都已更新,或暂时禁用它们。 IPv6 在测试过程中找出问题所在。
DNS 传播缓存与本地缓存即使 清除缓存,全球 DNS 传播可能需要一些时间,具体取决于您的记录 TTL。比较来自多个解析器的结果(1.1.1.1, 8.8.8.8, 9.9.9.9或者使用多位置 DNS 用于确认全球更新的检查器。
另请阅读:保护您的VPS主机安全
更快、更安全的最佳实践 DNS使用可靠的公共 DNS 解析器(Cloudflare 1.1.1.1、Google 8.8.8.8、Quad9 9.9.9.9)或您的服务提供商的 Anycast DNS.设置合理的TTL值: 迁徙期间较短(300-600秒),砍伐后稳定期间较长。用以下方式加固你的堆栈 DNS在支持的情况下,对 SEC 进行监控,以防止劫持。文档位置 DNS 缓存存在于您的环境中:端点、浏览器、路由器和本地解析器。对于企业而言,集中管理 DNS manage提高可观测性和可观察性,以减少变更期间的停机时间。如果您的域名或服务器是 主办 YouStable我们的支持可以帮助您验证记录、提供 TTL 策略建议,并确保我们的全球服务安全。 DNS 响应始终如一。作为主机提供商,我们看到 DNS 相关工单每天都会借鉴迁移过程中积累的经验。
真实案例:迁移后 DNS 固定迁移 WordPress 网站后 迁移到新服务器后,A 记录已更新,但部分用户仍然访问旧 IP 地址。 解决方案是多层次的: 刷新服务器的本地解析器,清除终端操作系统缓存,重启办公室路由器,并清除浏览器缓存。 DNS核实 nslookup 与 1.1.1.1 和 8.8.8.8 进行比对,以确认传播情况。
常见问题清理 DNS 缓存会删除我的浏览历史记录吗?没有. DNS 缓存仅存储主机名到 IP 地址的映射关系,不包含页面历史记录、Cookie 或已保存的密码。清除缓存只会强制重新缓存。 DNS 查找。
我应该多久冲一次水? DNS 缓存?只有当 故障排除或之后立即 DNS 变化。正常情况下,让TTL(累积毒性值)自然失效。频繁冲洗并不会带来性能提升。
为什么刷新 Windows 系统后,Chrome 或 Edge 浏览器仍然显示旧的 IP 地址? DNS?浏览器维护着自己的 DNS 缓存,有时也使用 DNS 通过 HTTPS。清除浏览器 DNS at chrome://net-internals/#dns or edge://net-internals/#dns暂时禁用 DoH,然后重新启动浏览器。
是否有单个命令可以刷新? DNS 在所有Linux系统上?没有Linux 是模块化的。在大多数现代发行版中, resolvectl flush caches 有效。否则,请重启您实际使用的解析器(NetworkManager、dnsmasq、nscd、BIND、Unbound)。
之间有什么区别 DNS 缓存和浏览器缓存?DNS 缓存将主机名映射到 IP 地址。浏览器缓存存储网站资源(HTML、CSS、JS、图像)。 DNS 缓存问题会导致错误的 IP 地址查询;浏览器缓存问题会导致内容过时。排查问题时,您可能需要清除这两种缓存。
结语法拉盛 DNS 缓存速度很快, 安全修复 Windows、macOS 和 Linux 系统上过时的名称解析问题。使用上面的快速命令,并通过以下方式验证: nslookup or dig并记得在需要时清除浏览器和路由器缓存。管理 DNS 变化? YouStable 可以帮助您规划 TTL、干净利落地传播记录并减少停机时间。