上周去楼下便利店买水,碰到一个做企业站的朋友蹲在门口挠头,说改了DNS解析大半天了,网站还是跳去老IP,急得要上火。其实这种情况90%都是本地或者服务器DNS缓存没清,用对dns清理缓存命令,一分钟就能解决这个解析异常问题,根本不用瞎折腾半天。很多人改完DNS就干等,不知道清缓存,白白浪费好几个小时,其实只要敲一行命令就搞定了。这种小故障我碰到太多次,真的是说出来都不算事儿,但就是很多新手不知道这个技巧,白白急得跳脚。

dns清理缓存命令什么时候需要用
先说什么时候要用到这个命令吧,省得你没事瞎清。改完域名解析对应IP之后,本地或者服务器还是访问老站点,这个时候百分百要清。还有配置了新的CDN节点,解析迟迟不生效,也需要清。甚至有时候上网好好的,突然部分网站打不开,排除了网络本身故障之后,清一下DNS缓存也能搞定。
我前两年就碰到过,公司网络都正常,就我负责维护的站点打不开,换同事电脑就能打开,折腾了半小时,改了好几个配置都没用,最后清了本地DNS缓存,瞬间就好了,你说离谱不离谱?真不是什么大问题,就是缓存把旧的解析结果留下来了,浏览器系统都拿着旧结果用,当然不对了,清掉旧缓存重新拉取新解析就完事。
Windows系统下的常用命令
不同系统的清理命令不一样,别搞混了,我这里整理得清清楚楚,你对着敲就行。首先说Windows,从Win7到最新的Win11,命令其实都通用,不用分版本纠结。打开 cmd 命令提示符——这里提醒一下,不用管理员权限其实也能跑,但有时候权限不够清不干净,所以建议还是右键选「以管理员身份运行」,然后敲入 ipconfig /flushdns 回车,就搞定了。就这么简单一行,要是提示「成功刷新DNS解析缓存」那就是成了,要是提示权限错误,大概率就是你没开管理员权限,重新开一遍就行。
还有一种情况,就是你开着DNS Client服务,有时候服务没重启清不干净,也可以顺便重启下服务,命令是 net stop dnscache && net start dnscache ,不过一般情况下,上面那行ipconfig的命令就够用了,不用多此一举,我反正这么多年用下来,基本一次就成。
macOS系统下的清理命令
用苹果电脑的朋友注意了,不同的macOS版本命令其实有点变化,别拿老命令瞎敲。比如现在绝大多数人用的都是 macOS 10.11 及以后的新版本,正确的命令是 sudo dscacheutil -flushcache ,输入回车之后要输一下你电脑的开机密码,输的时候屏幕上不会显示字符,这是正常的,输完回车就好。
老版本的macOS(比如10.10以前)用的是 sudo lookupd -flushcache ,不过现在很少人还用那么老的系统了,记第一个就行。我之前帮一个做设计的朋友弄,她记错了命令,拿老命令敲进去一直报错,换了新命令瞬间就好,所以版本不同真的要注意,别死记老黄历。
Linux服务器下的清理命令
做站长的,基本都有自己的VPS或者云服务器,改了DNS之后服务器本地缓存没清,也会出问题,所以服务器端也要清。不同的Linux发行版,用的DNS服务不一样,命令也不同,我把最常用的列出来。
比如现在最流行的systemd系统的发行版(比如CentOS7以后、Ubuntu 16以后),如果你用的是systemd-resolved服务,清DNS缓存的命令就是 sudo systemd-resolve –flush-caches ,如果是用的nscd缓存服务,那命令就是 sudo nscd -i hosts ,要是用的dnsmasq做缓存,那就是 sudo service dnsmasq restart 。哦对了,还有很多新手用宝塔面板管理服务器,其实不用登命令行,在面板的软件管理里找到对应的DNS服务,点一下重启就行,一样效果,对不熟悉命令行的朋友更友好。
清完缓存还是不生效怎么办
也有人碰到过,清完缓存还是不对,那该怎么办?别急,一步步排查,总能找到问题。首先,先看看你本地的hosts文件是不是写死了域名和对应的IP,很多人之前做测试的时候写过,后来忘了改,hosts文件的优先级比DNS高,所以哪怕你清了缓存,系统还是会读hosts里的旧IP,这个只要打开hosts删掉那行就好,很简单。
然后,看看你的本地网络是不是在路由器里设置了自定义DNS,很多路由器本身也会存DNS缓存,你清了电脑的没清路由器的,当然还是不对,这个只要重启一下路由器,等个一两分钟重新连接就好了。还有,要是改的是权威DNS解析,那全国各地的递归节点同步需要一点时间,最长也就24小时,一般几个小时就同步完了,不用太着急,实在等不及可以换个网络试试,比如手机开热点试试,就能知道是不是本地缓存的问题了。
浏览器DNS缓存要不要一起清
哦对了,差点忘了说,很多人清完系统缓存还是不对,那是因为浏览器自己也有DNS缓存啊!所以哪怕系统缓存清了,浏览器还存着旧的解析结果,当然不对。不过浏览器清DNS不用命令,你只要把浏览器所有标签页关掉,进程完全退了,重新打开一遍就差不多了,要是还不行,就清一下浏览器的网页缓存,这个大家都会操作,我就不多啰嗦了。
我自己改完解析,习惯就是清完系统DNS缓存,再重启一遍浏览器,基本10次有9次一次就好,很少出问题,这个小习惯分享给大家。
其实做站长这么多年,碰到解析异常,十有八九都是缓存闹的小问题,根本不用慌。只要记住对应系统的dns清理缓存命令,碰到问题敲一行,分分钟就能搞定,不用到处找客服问,也不用瞎折腾半天改配置乱试。很多新手碰到这个问题就慌了手脚,其实真的就是一步的事,多弄两次就熟了,以后再碰到解析异常,自己就能快速解决,根本不用麻烦别人。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!