域名缓存清理, 这件事的本质, 就是要清除掉那些级别不一样的DNS解析缓存。 这样一来, 系统就不得不重新去向权威DNS服务器发起查询这一动作。
至于原因, 是因为终端操作系统、浏览器、路由器、还有CDN节点, 它们各自都在维护自己独立的缓存层。所以呢, 必须得一层一层地去处理, 只有这样才能彻底地让其生效。下面就是各个层级里面的标准操作步骤。
Windows系统清理
首先你需要以管理员身份打开“命令提示符”,然后接着做下面这些操作域名缓存清理, 一个一个地去执行。
1. 运行ipconfig /flushdns这个命令, 来把本地的DNS解析缓存给清除掉。
2. ipconfig /release(释放当前网络配置)
3. ipconfig /renew(重新获取IP及DNS地址)
4. nslookup 你的域名(验证解析是否已更新)
如果正在使用的DNS并不是默认的DNS, 比如说使用的是114.114.114.114这种地址。那么在完成修改操作之后, 需要重新启动网卡适配器一下。或者也可以选择断开连接网络的当前状态, 再进行重新连接网络的动作。这样才能让上述的更改结果真正地生效。
macOS / Linux系统清理
在macOS系统中, 你可以在终端里面去执行那条命令, 也就是sudo dscacheutil -flushcache, 然后接着再执行另一条命令, 即sudo killall -HUP mDNSResponder。
Linux(systemd-resolved):执行 sudo systemd-resolve --flush-caches。
Linux(NetworkManager):执行 sudo nmcli conn reload 后运行 sudo systemctl restart NetworkManager。
浏览器缓存清理
在Chrome和Edge浏览器中, 你可以在地址栏输入chrome://net-internals/#dns。接着找到“Clear host cache”。最后进行点击操作即可。
Firefox的话, 你需要手动地进行清除操作, 具体做法是访问 about:networking/dns 这个页面。
在操作全部完成以后, 建议你顺便把常规的浏览缓存一块给清理掉, 具体的操作方法就是按下键盘上的Ctrl+Shift+Delete这几个键组成的组合键, 这时候在弹出的选项框里面, 一定要记得去勾选那个名为“缓存的图片和文件”的复选框, 这样做的目的主要就是为了防止网页还会去继续加载那些已经过期的、旧的解析结果数据。
路由器及服务器端清理
如果你的家庭或者企业里面使用的那个路由器打开了内置的DNS缓存功能, 那么你就需要去登录管理后台, 这里面的地址一般是192.168.1.1, 然后在里面执行重启DNS服务这个操作, 或者是执行恢复默认设置这个操作。
如果是云服务器, 比如说是阿里云、腾讯云、AWS等这些情况的话, 就进入到那个控制台里面去查看一下所谓的“域名/网络”这个模块,然后在那个地方对DNS解析记录进行一个刷新操作就行了。
把域名解析的事情托管给第三方的服务商龙南市就业服务平台, 比如说gz88.cn这些平台的时候, 你需要登录到对应的管理面板里面去,确认记录是已经更新了的域名缓存清理, 并且TTL也已经生效了。
高频疑难问题与解决方案
问题1:清理后仍解析到旧IP。 原因是TTL没过期。因为TTL值等于3600秒, 所以全球边缘节点最长需要等一个小时才能完成更新。本地缓存清除后按理说应该立刻生效。如果还是没更新, 就需要去排查一下是否存在DNS代理的情况, 或者是DNS泄漏的问题。
问题2:部分设备已生效,部分未生效。需要对每一台设备都分别执行对应系统进行清理的命令, 并且在过程中要把重点放在排查路由器以及企业级DNS服务器这些对象的缓存上面。
问题3:公司内网无法修改DNS设置。 请联系IT部门, 让他们在企业DNS服务器上或者在AD域控制器那边执行一下缓存刷新的操作。
问题4:频繁变更解析记录。 在计划进行变更前, 需要提前二十四个小时把域名解析过期时间调整为六十秒, 等到变更操作彻底完成并且系统状态恢复稳定之后, 再把域名解析过期时间重新调整至一到两个小时的时间长度。
日常预防建议
域名的TTL在日常生活中预设的是60到300秒这样一个数值范围, 这么做的目的是为了去降低发生缓存滞留的风险。
在进行DNS变更操作之前, 需要提前二十四小时把TTL数值降低。
要建立一份针对终端、路由器和 CDN 节点的装置缓存清单, 在发生变更之后要逐个地进行对账并且确认, 以此来防止有遗漏的状况出现。


