导读:本期聚焦于樱由罗创作的《DNS缓存是什么?DNS缓存清除命令整理,核心要点一次讲明白,一文带你全面了解,常见问题与注意事项一并说明》,敬请观看详情。网页打不开、域名解析到旧IP,多半是DNS缓存在背后捣乱。DNS缓存把域名和IP的对应关系临时存放在浏览器、操作系统、路由器和运营商服务器等多个层级,既能加快访问速度,也可能在网站更换IP后让你长时间访问失败。本文用通俗的方式讲清DNS缓存的存储位置、TTL机制和解析流程,整理Windows、Linux、macOS以及主流浏览器下清除DNS缓存的具体命令,附上验证解析结果是否生效的方法,并汇总缓存投毒、负缓存、迁移后无法访问等常见问题的排查思路与注意事项,帮你把DNS缓存相关知识点一次理顺。

打开一个网站时,浏览器并不会每次都向DNS服务器询问这个域名对应的IP地址,而是先在本地查一遍缓存,命中就直接使用,未命中才会逐级向外发起解析请求。这份被临时保存下来的域名与IP映射记录,就是DNS缓存。它的好处很直观:省掉一次可能耗时几十毫秒甚至更久的解析过程,让页面打开更快;副作用同样明显:当网站的真实IP发生变化,缓存里的旧记录不会自动消失,于是网站明明已经完成迁移,你的电脑却还在固执地访问旧地址,表现为打不开或者访问到错误内容。

DNS缓存是什么?DNS缓存清除命令整理,核心要点一次讲明白,一文带你全面了解,常见问题与注意事项一并说明

DNS缓存到底存放在哪些地方

很多人以为DNS缓存只有一个,实际上从你敲下回车到页面呈现,解析结果会经过至少四层缓存。第一层在浏览器内部,Chrome、Edge、Firefox都会维护自己的DNS缓存,与操作系统互不干扰;第二层在操作系统里,Windows由DNS Client服务负责,Linux上则可能是systemd-resolved、nscd或dnsmasq这类组件;第三层在家庭路由器或公司网关上,前提是它开启了DNS代理功能;第四层在运营商或公共DNS的递归服务器上,例如8.8.8.8这类地址背后的服务器集群。

理解这个层级非常关键,因为它直接决定了排查思路。你清空了本机缓存,但如果运营商递归服务器上还留着旧记录,解析结果依然不会变。每条DNS记录都带有一个TTL值,单位是秒,它规定了这条记录可以被缓存多久。比如TTL为600,意味着缓存方最多保存10分钟,超时后必须重新向权威服务器发起查询。TTL是域名持有方在解析记录里设置的,缓存方无权修改,只能遵守。

另外别忘了hosts文件这个特殊的存在。Windows下位于C:\Windows\System32\drivers\etc\hosts,Linux和macOS下是/etc/hosts,它的优先级高于DNS查询,属于本地静态解析。如果排查半天发现解析结果诡异,先检查这个文件里有没有人手动写过测试条目,很多莫名其妙的解析问题,根源就藏在这里。

各平台清除DNS缓存的命令整理

清除缓存的操作本身不难,难点在于不同系统、不同服务组件对应的命令完全不同。下面按平台逐一整理,建议对照自己的实际环境选用。

Windows系统

Windows提供了最简洁的命令,直接在命令提示符或PowerShell中执行即可,普通权限通常就能成功,遇到个别组策略限制时改用管理员身份运行。

:: 查看当前系统缓存的所有DNS条目
ipconfig /displaydns

:: 清除本机DNS缓存
ipconfig /flushdns

:: 执行成功后会返回提示:已成功刷新DNS解析缓存

ipconfig /displaydns输出的列表里能看到每条记录的域名、记录类型、TTL剩余时间,排查时非常有用。如果你修改了hosts文件后发现没生效,执行一次ipconfig /flushdns通常就能解决,因为hosts条目同样会被Windows缓存起来。

Linux系统

Linux发行版差异较大,缓存由哪个组件管理,命令就跟着变。Ubuntu及多数新发行版默认使用systemd-resolved,老一些的系统可能是nscd,自己搭软路由或做本地缓存的则常用dnsmasq。

# systemd-resolved 管理缓存的发行版,例如 Ubuntu
sudo systemd-resolve --flush-caches

# 查看缓存命中统计,确认缓存已被清空
sudo systemd-resolve --statistics

# 使用 nscd 的旧系统,直接重启服务即可
sudo systemctl restart nscd

# 使用 dnsmasq 做本地缓存的场景
sudo systemctl restart dnsmasq

新版systemd-resolved还提供了resolvectl flush-caches命令,效果与上面第一条相同,属于新旧命令的更替。遇到其中一个报命令不存在时,换另一个试试即可。

macOS系统

苹果系统的缓存由mDNSResponder守护进程管理,清除操作需要两条命令配合执行,并且要求sudo权限。

# 清除目录服务缓存
sudo dscacheutil -flushcache

# 通知 mDNSResponder 重新加载,使DNS缓存立即失效
sudo killall -HUP mDNSResponder

网上流传的旧教程里常出现lookupd -flushcache,那是十多年前老版本Mac OS X的命令,现在的macOS早已不支持,照抄会直接报命令找不到。

浏览器缓存

由于Chrome系浏览器内置独立的DNS缓存,有时系统缓存清了,浏览器里还是旧记录。以Chrome或Edge为例,在地址栏输入chrome://net-internals/#dns,进入DNS页面后点击清除主机缓存按钮即可。Firefox则可以通过清除浏览器全部缓存数据来顺带处理,或在about:config中把network.dnsCacheExpiration临时设为0后重启浏览器。

清除之后如何验证解析已经生效

清完缓存不代表问题解决,还得确认新的解析结果符合预期。验证工具同样分平台,Windows自带nslookup,Linux和macOS建议使用dig,输出的信息更完整。

# Windows 下查询域名解析结果
nslookup www.ipipp.com

# Linux/macOS 下查询,显示完整解析过程
dig www.ipipp.com

# 只输出最终IP,适合脚本使用
dig +short www.ipipp.com

# 指定用某个公共DNS查询,绕过本地默认配置
dig @8.8.8.8 www.ipipp.com

dig输出中有一段ANSWER SECTION,里面的数字就是该记录当前的TTL。多执行几次会发现这个数字在逐渐变小,这正是缓存倒计时的直观体现。如果你连续查询同一域名,TTL一直不下降,说明命中了本机缓存;想看外部最新答案,就用dig @8.8.8.8这种指定外部DNS的方式,对比两边结果是否一致,就能判断旧记录残留在哪一层。

常见问题与注意事项

围绕DNS缓存的实际故障大致可以归为四类,下面逐条说明处理思路。

第一类是刷新了本机缓存仍然解析到旧IP。这时候旧记录大概率卡在路由器或运营商递归服务器上,本机已经无能为力。临时办法是把本机DNS改成8.8.8.8或223.5.5.5,换一条递归路径,或者直接修改hosts文件做临时指向;根本办法是等TTL自然过期。这也解释了为什么网站迁移前,运维通常会提前一两天把域名TTL调低到60秒甚至30秒,让全网缓存快速失效,切换完成后再调回正常值。

第二类是负缓存带来的困扰。DNS不仅缓存解析成功的记录,也缓存解析失败的答案,比如域名不存在这类NXDOMAIN响应同样会被缓存一小段时间。刚注册的域名、刚添加的解析记录,配置明明正确却查不到,很可能就是负缓存在起作用,等几分钟再试往往就恢复正常了。

第三类是缓存投毒的安全风险。攻击者如果向缓存中注入伪造的解析记录,会把用户引导到假冒的钓鱼站点。防范上,一方面可以选择支持DNSSEC验证的公共DNS,另一方面重要业务尽量开启HTTPS,让证书校验成为第二道防线,即使解析被劫持,假站点也拿不出合法证书。

最后一点提醒:清缓存不是万能钥匙,更不是日常保健操作。解析一切正常时频繁执行清空命令,只会让每次访问都重新走完整解析流程,反而拖慢速度。把它当成域名迁移、修改解析记录、排查连通性问题时的针对性手段就好,平时不必刻意去清。

DNS缓存DNS缓存清除命令DNS解析修改时间:2026-10-01 12:24:50

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/1001/64237.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。