Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

设备 DNS 缓存更新 (刷新) 指南

By: Anonymous
6 April 2024 at 17:33

全球网络服务更新,更多区域已上线

全球网络服务更新,更多区域已上线

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

缓存是一份记录了设备在特定时间范围内访问过的所有网站的列表。简单来说,它是存储在您设备上,已经连接过的服务记录。

网络连接要解析域名就会利用这份缓存来加快连接的速度,因此它是我们日常上网体验的重要组成部分。 DNS 缓存会影响到浏览体验、安全性,甚至是隐私。因此,了解如何刷新 DNS 缓存(删除 DNS 现有记录)有时是很关键的。

互联网上的计算机使用 IP 地址相互通信。每台连入互联网的设备都有一个独一无二的 IP 地址,用于识别和连接。比如,当访问 时,设备实际上是通过该网站服务器的 IP 地址与之建立连接的。

最常见的 IP 地址格式是四组用点分隔的数字(如 1.1.1.1)。尽管 IP 地址对设备来说很友好,但对人类而言难以记忆这些通常是随机的数字。因此,互联网采用了 DNS 系统,让每个 IP 地址与一个更容易记住的名称(域名)相关联。

你可以将 DNS 看作是互联网上的”电话簿”。有了电话簿,你不需要记住每个人的电话号码,只需记住他们的名字,然后查阅电话簿就能找到对应的号码。同理,DNS 的作用就是将纯数字的 IP 地址与便于记忆的域名相关联。

了解更多 DNS 相关知识

每当你在地址栏输入一个域名(如 DUN.IM)时,浏览器需要通过 DNS 查找该域名对应的 IP 地址(因为计算机只识别 IP 地址)。这个查询过程相当复杂,需要经过路由器、互联网服务提供商、根域名服务器等多个环节。可以想象,这个 DNS 解析过程对于计算机来说是低效的,对于用户而言也会造成可感知的延迟。

DNS 缓存便是解决这个问题的一种简单有效方式。DNS 缓存本质上是一份自动存储在你设备上,最近访问过网站解析后的记录,有域名解析后对应的 IP 地址。当你再次访问记录中的域名时,设备就可以直接从缓存中读取 IP 地址,而无需经历整个 DNS 查询流程,从而加快了网站访问速度。

除了域名和 IP 地址的对应关系,DNS 缓存还存储了每个条目的存活时间(TTL)等信息。当一个条目的 TTL 期满时,设备就会自动将它从缓存中移除,以防止缓存中留存太久过时的记录。

除了依赖 TTL 机制自动清理,我们也可以手动”刷新”DNS 缓存,删除其中所有记录。乍一看这么做没什么必要,但实际上有很多场景通过 DNS 缓存刷新,可以排除网络故障。

尽管 DNS 缓存的设计初衷是提高访问速度,但在某些情况下它也可能带来一些问题,甚至成为攻击媒介。下面是你可能需要刷新 DNS 缓存的四个主要场景:

DNS 缓存的设计目的是让浏览器可以在本地查询 IP 地址,从而加快网站访问速度。但当缓存中没有你要访问的网络服务记录时,设备就只能通过互联网发送 DNS 查询请求。任何能够获取这些请求的人(比如你的 ISP 或网络管理员)都能够看到你连接过的网络服务记录。

当连接 DUN.IM 匿名服务时,DUN.IM 会强制将所有的网络流量(包括 DNS 查询请求)都经由 VPN 隧道节点进行转发。对于 DNS 服务器来说,这些查询请求似乎是来自某个 VPN 服务器而不是你的设备,从而切断了你的上网活动与设备之间的关联,保护了你的隐私。

正如上面所说,刷新 DNS 缓存是指手动删除其中所有记录,而不管各条目的 TTL 时间。由于 DNS 缓存是存储在设备上并由操作系统管理的,刷新方法因设备平台而异。 通用的刷新步骤是:

打开终端的方式和刷新命令因操作系统而不同,具体如下。

有几种打开命令提示符终端的方式,最通用的是:

你也可以在开始菜单中直接找到命令提示符程序。

打开终端后,输入命令 ipconfig /flushdns 并按回车即可刷新 DNS 缓存。

上,终端程序在应用程序文件夹的实用中。 具体的刷新命令因 macOS 版本而有所不同:

Linux 生态系统分化很大,有些发行版本身就不使用 DNS 缓存。

你可以在终端运行 systemctl is-active systemd-resolved 命令检查是否在缓存 DNS 查询。

如果结果为”active”,说明正在缓存,可使用如下命令刷新:

除了操作系统级别的 DNS 缓存,大部分浏览器也会内置一份自己的 DNS 缓存副本。出于同样的原因,你也应当了解如何刷新浏览器缓存。

这些基于 Chromium 的浏览器的刷新方式相同,只需在地址栏输入如下命令,然后点击”Clear host cache”即可:

在 Firefox 中,输入 about:networking#dns并点击”Clear DNS cache”。

要清空 Safari 的 DNS 缓存稍微复杂一些,需要先启用”开发”菜单:

一些高级路由器设备也会缓存 DNS 记录。如果你的路由器支持这项功能,通常只需根据路由器平台,利用上面 Linux 系统的命令,或者部分支持重启路由器自动清理缓存,就可以刷新设备内部的 DNS 缓存了。

刷新 DNS 缓存有什么结果?
它会清除缓存中所有之前的 DNS 查询记录。之后访问任何网站都需要再次经历完整的 DNS 解析过程,直到缓存重新填充。

刷新 DNS 缓存安全吗?
是的,刷新缓存并不会对系统造成任何破坏。相反,对于一些重视网络安全的用户而言,主动刷新 DNS 缓存反而可以避免 DNS 缓存投毒攻击的风险。

刷新 DNS 缓存能提高网速吗?
不一定。刷新后首次访问网站会略微减慢速度,因为需要重新解析 DNS。但从用户体验来看,如果之前的 DNS 记录已经过期或被污染,或者解析到错误的线路节点,刷新后确实能解决部分网站访问缓慢的问题,给人以网速提升的体验。

刷新 DNS 缓存需要多长时间?
刷新 DNS 缓存是一个非常快速的操作,通常只需 2 秒钟。

应该多久刷新一次 DNS 缓存?
这没有固定标准,主要取决于每个人的具体需求和上网习惯。一般来说,如果你遇到特定网站访问异常的情况,或者在发生 DNS 缓存投毒攻击后,都应当考虑刷新 DNS 缓存。

❌
❌