DNS 缓存是一个临时数据库,用于存储已解释的 DNS 查询信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留域名和相应 IP 地址的记录。
这消除对远程 DNS 服务器重复查询,并允许你的操作系统或浏览器快速解析网站的域名。
但是在某些情况下,例如对网络问题进行故障排除或者在更改 DNS 地址之后,你可能需要刷新 DNS 缓存。这将清除缓存的 DNS 记录根据 DNS 地址解释域名。
我是艾西,今天我跟大家聊聊 linux 系统如何清除dns缓存
Linux 清除 DNS 缓存实现通常有两种方式:一种是用 DNS 缓存程序 NSCD(name service cache daemon)负责管理 DNS 缓存。另一种实现 DNS 缓存则是用 Bind 来架设 Caching Name Server 来实现。
如果是清除 NSCD 上的 Cache,可重新启动 NSCD 服务来达成清除 DNS Cache 的效果。用这个命令:
# service nscd restart
# /etc/init.d/nscd restart
如果是清除 BIND 服务器上的 cache,用这个命令:
# rndc flush
如果你的 DNS 服务器是用 dnsmasq 实现的,用下面这个命令
$ sudo /etc/init.d/dnsmasq restart
注:DNSmasq 是一个轻巧的,容易使用的 DNS 服务工具,它可以应用在内部网和 Internet 连接的时候的 IP 地址 NAT 转换,也可以用做小型网络的 DNS 服务。
其它操作系统下清空 DNS 缓存的方法
1、微软 windows 下如何清空 dns:
你可以用以下命令来清空 dns 缓存内容。
ipconfig /flushdns
你也可以用以下命令来查看 dns 缓存内容。
ipconfig/displaydns
windows 下的 DNS Cache 是由 DNS Client 后台进程控制的,你可以在控制面板 ->服务中将其关闭,这样 windows 就不会进行 DNS 缓存,每次都将直接查询 DNS Server 。
Mac OSX 下如何清空 DNS 缓存:
在 Mac OSX 中,你可以用以下命令来清空 DNS 缓存内容:
bash-2.05a$lookupd-flushcache
DNS 缓存可以快速获得解析记录,但如果所访问的网站 DNS 解析发生更改,本机的 DNS 缓存并不能及时得到同步,这样有可能导致域名解析出错,甚至可能被非法利用进行 DNS 劫持将域名解析指向非法网站。所以为了保证 DNS 解析准确性,需要定期对 DNS 缓存进行清理
清除 DNS 缓存有什么好处:
1. 安全性
DNS 缓存文件是 DNS 事件的主要目标,DNS 欺骗是一种更改 DNS 记录的攻击,目的是将在线流量重定向到类似于其预期目标的欺诈性网站。刷新 DNS 缓存会清空大多数文件(与自动更新相关的文件除外),从而减少这种事件的发生概率。
2. 良好连接
如果网站不是在特定设备上加载,而是在其他设备上加载,则最有可能是由于 DNS 缓存问题。通过刷新 DNS 缓存,将删除错误的 IP 地址条目,并在发出下一个请求时使用正确的/最新的 IP 地址。
3. 旧数据
由于存在许多受欢迎的 DNS 提供程序,如果最近更改 DNS 提供程序,但是缓存仍包含来自旧 DNS 提供程序的数据,则可能会遇到问题。
4. 维护
刷新 DNS 缓存的另一个好处是,这是进行维护的良好做法。尽管 DNS 缓存文件不会占用很多空间,但是如果不定期刷新缓存,则列表显然会随着时间的推移而迅速增长。通过刷新缓存,可以正确删除记录,以便解析器不再使用现在过期的信息,还可以解决尝试访问某些站点时遇到的 404 错误。
我是艾西,今天的分享就到这里啦希望对有需要的小伙伴有帮助我们下期见!