什么是 DNS 缓存?

简而言之,域名系统或简称为 DNS,是一组数据查找,可帮助将 URL/主机名转换为 IP 地址。 它通常被称为 Internet 电话簿,因为它可以帮助用户的操作系统获取他们输入的 URL 并将其转换为 IP 地址,然后帮助浏览器根据它定位资源。

如果没有 DNS 和 Google 等搜索引擎,浏览互联网就不会像现在这样轻松愉快。 我们必须跟踪我们想要访问的所有网站的 IP 地址,并在我们想要查看它们时单独输入每个网站。

如果您仍然不清楚这个概念,让我详细解释一下。

DNS如何工作?

DNS 的工作相当简单。 在浏览器中输入的每个网址或 URL(例如 Edge, Chrome 或 Safari)然后被发送到 DNS 服务器,该服务器知道如何将其映射到其唯一的 IP 地址。

IP 地址是这些设备用来相互识别的,因为它们无法使用类似的名称进行通信 www.google.com 或者 www.facebook.com. 使用 DNS,我们只需输入这些简单的网站名称,DNS 在后台为我们完成所有繁重的工作,立即返回访问网站内容所需的适当 IP 地址。

同样,域名如 www.amazon.com, www.linuxways.com, 和 www.vitux.com 只是为了方便起见,因为它比 IP 地址更容易记住它们。

称为根服务器的计算机设备的任务是针对每个 URL 存储 IP 地址。 当用户请求网站时,根服务器是名称解析过程的第一步,然后将信息传递给下一步。 然后将域名转发到位于 Internet 服务提供商的 DNR(域名解析器),以确定相关的 IP 地址。 完成后,生成的信息将发送回您的浏览器,并显示网站的内容。

DNS缓存

像 Ubuntu 和 Windows 这样的操作系统将在您的计算机上本地存储 IP 地址以及有关 URL 的其他信息,以便可以比每次都与 DNS 服务器通信更快地访问它们。 当您的计算机习惯于多次查找相同的主机名时,返回的信息将存储在您计算机的本地存储中。

它是如何工作的

在您的浏览器向外部网络发送请求之前,您的计算机会查看每个查找请求并在 DNS 缓存数据库中检查它。 该数据库包含您最近访问的所有网站的列表以及第一次请求它们时 DNS 为它们计算的 IP 地址。

Ubuntu 上的 DNS 缓存内容如下所示:

如果您在 Windows 上检查您的 DNS 缓存,内容会更加整齐有序

DNS 缓存存储 IP 地址以及请求的 URL 和许多其他属性,具体取决于操作系统。

如何冲洗它?

虽然跟踪 DNS 信息可能会有所帮助,但它有时会过时或损坏。 通常,您的操作系统本身会在特定时间段后删除这些数据,但如果您开始在访问某些网站时遇到问题,您可以尝试删除这些数据或刷新 DNS 缓存,以便为更新的 DNS 记录腾出空间。

鉴于它负责仅使用主机名将浏览器定向到某些 IP 地址,因此 DNS 存储有时是恶意行为者的主要目标。 黑客可以渗透您的本地 DNS 缓存并将您重定向到一个陷阱并进一步利用您并窃取您的信息。 DNS 中毒和欺骗是攻击类型,黑客攻击 DNS 解析器的缓存以将用户重定向到恶意网站,无论哪个 IP 地址真正映射到您的预期 URL。

如果您想知道如何在 Ubuntu 中刷新 DNS 缓存,您可以在我们另一篇题为“如何在 Ubuntu 20.04 上刷新 DNS 缓存”的文章中获得分步说明。

如果这对您不起作用,您还可以尝试从您的主机文件中删除权限并将它们设置为“只读”。 在 Ubuntu 中,它位于“/etc/hosts”目录中。

结论

虽然您可以直接在浏览器中输入网站的 IP 地址,但记住像 google.com 这样的 URL 要容易得多。 这样做,无论哪种方式都可以实现您的目标,这是因为您仍在访问同一台服务器。 也就是说,如果您的设备在联系 DNS 服务器时遇到问题,您可以通过直接在浏览器中输入 IP 地址来解决该问题。

我希望您能够阅读本文并准确了解什么是 DNS 以及它是如何工作的。 如果您在阅读我们的 DNS 帖子后仍有任何疑问或疑虑,请随时在下方发表评论,让我们一起讨论。