系统极客一直在努力
专注操作系统及软件使用技能

如何清除 DNS 缓存:适用于 Windows、Mac 和 Chrome 等

网络

清除 DNS 缓存是一种常见的网络维护操作,有助于解决与域名解析相关的各种问题。本文将介绍如何在 Windows、Mac、Chrome 和 Firefox 等主流操作系统和网页浏览器中刷新 DNS 缓存。

什么是 DNS 缓存

DNS(域名系统)是 Internet 的一项核心服务,它负责将用户可读的域名(例如 www.sysgeek.cn)转换为计算机可理解的 IP 地址。当你访问一个网站时,浏览器会向 DNS 服务器查询域名所对应的 IP 地址,并将结果缓存起来。下次再访问同一网站时,就可以直接从缓存中获取 IP 地址,从而加快响应速度。

为什么要清除 DNS 缓存

在某些情况下,DNS 缓存可能会导致问题,这时,就需要进行清除或刷新,例如:

  • 解决访问问题:如果无法访问某个网站,或者页面加载速度变慢,可能是由于本地 DNS 缓存中存储了错误或过时的 IP 地址。清除 DNS 缓存可以强制重新查询最新的 DNS 信息。
  • 更新域名解析:当网站更换服务器或 IP 地址时,DNS 记录也需要更新。如果你发现在更新后仍然无法访问,清除 DNS 缓存可以帮助你电脑获取新的 DNS 记录。
  • 排除网络故障:在排查网络连接问题时,清除 DNS 缓存是一项目基本的故障排除步骤。有时,旧的或损坏的缓存数据可能会导致网络请求失败。
  • 避免 DNS 污染:DNS 污染是指恶意软件或攻击者通过篡改 DNS 响应来重定向用户的网络流量。清除 DNS 缓存有助于防止此类攻击,它会强制计算机或应用程序从干净的源头重新获取 DNS 信息。
  • 提高网络性能:虽然 DNS 缓存可以提高域名解析的效率和速度,但在某些情况下,过时的缓存数据可能会导致性能问题。定期刷新 DNS 缓存可以确保你的网络请求总是基于最新的 DNS 记录。

如何清除 DNS 缓存

不同的操作系统和网页浏览器,清除 DNS 缓存的步骤也有所不同。下面,我们就针对以下操作系统和浏览器进行分别介绍:

1. 在 Windows 上刷新 DNS 缓存

适用于 Windows XP 及更高版本。

1使用Windows + R快捷键打开「运行」,输入cmd,然后按Ctrl + Shift + Enter以管理员权限启动「命令提示符」。

2在「命令提示符」窗口中,执行以下命令:

ipconfig /flushdns

执行成功后会提示已成功刷新 DNS 解析缓存。

刷新 Windows 系统 DNS 缓存
刷新 Windows 系统 DNS 缓存

2. 在 macOS 上清除 DNS 缓存

适用于 macOS 10.7 Lion 及更高版本。

1在「访达」>「应用程序」>「实用工具」中打开「终端」应用。

2按你的系统版本,在「终端」中执行以下命令:

macOS 版本终端命令
macOS Sonoma
macOS Ventura
macOS Monterey
macOS Big Sur
macOS Catalina
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
macOS Mojave
macOS High Sierra
macOS Sierra
OS X Mountain Lion
Mac OS X Lion

sudo killall -HUP mDNSResponder
Mac OS X El Capitan
OS X Mavericks
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
OS X Yosemitesudo discoveryutil mdnsflushcache
sudo discoveryutil udnsflushcaches
Mac OS X Snow Leopardsudo dscacheutil -flushcache
Mac OS X Leopardsudo lookupd -flushcache
Mac OS X Tigerlookupd -flushcache
刷新 macOS 系统 DNS 缓存
刷新 macOS 系统 DNS 缓存

3. 在 Linux 上清除 DNS 缓存

在 Linux 上,清除 DNS 缓存的方法取决于你系统使用的 DNS 解析器。以下是一些常见方法:

使用 systemd-resolved 服务

systemd-resolved 是许多现代 Linux 发行版默认使用的 DNS 解析器。要清除 systemd-resolved 的 DNS 缓存,请运行以下命令:


# Ubuntu 22.04 LTS 及更高
sudo resolvectl flush-caches

# Ubuntu 22.04 LTS 之前
sudo systemd-resolve --flush-caches
刷新 Ubuntu 系统 DNS 缓存
刷新 Ubuntu 系统 DNS 缓存

使用 dnsmasq 服务

  • 如果你的系统使用 dnsmasq 作为 DNS 转发器,可以重启 dnsmasq 服务来清除 DNS 缓存:
sudo systemctl restart dnsmasq

使用 nscd 服务

nscd 是另一个常见的 DNS 缓存服务。要清除 nscd 的 DNS 缓存,请运行以下命令:

sudo service nscd restart

4.在 Chrome 和 Microsoft Edge 中清除 DNS 缓存

适用于采用 Chromium 内核的浏览器,如 Google Chrome、Microsoft Edge 和 Brave 等。

1在浏览器地址栏中执行chrome://net-internals/#dns

2点击「Clear host cache」清除主机缓存。

清除 Chrome 浏览器 DNS 缓存
清除 Chrome 浏览器 DNS 缓存
清除 Edge 浏览器 DNS 缓存
清除 Edge 浏览器 DNS 缓存

5. 在 Mozilla Firefox 中清除 DNS 缓存

1打开 Firefox 浏览器,在地址栏中执行about:networking#dns

2点击「清除 DNS 缓存」。

清除 Firefox 浏览器 DNS 缓存
清除 Firefox 浏览器 DNS 缓存

6. 在 Apple Safari 中清除 DNS 缓存

1打开 Safari 浏览器,使用⌘command + ,快捷键打开「设置」。

2在「高级」选项中,勾选「显示网页开发者功能」。

Safari:显示网页开发者功能
Safari:显示网页开发者功能

3在「开发」菜单中选择「清空缓存」或「清空所有用户场景的缓存」(多 Safari 用户场景)。

Safari:清空 DNS 缓存
Safari:清空 DNS 缓存

希望本文能够帮助你更好地理解和清除 DNS 缓存,提升你的网络体验。

赞(3) 赞赏

评论 3

  1. #2

    如果没记错的话,之前有片文章专门写的是chrome浏览器的清除DNS缓存,今天这篇文章算是集齐了

    絮沫纷飞6年前 (2019-05-14)回复
    • 可以招唤神龙了……

      海猴子6年前 (2019-05-15)回复
  2. #1

    赞,这个清理 DNS 缓存的文章足够用了,博主非常细心。

    我与梦想有个约会6年前 (2019-05-14)回复

微信赞赏