如何清除 DNS Windows、Linux 和 Mac 上的缓存

发布: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、干净利落地传播记录并减少停机时间。