清除 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 解析缓存。
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 Yosemite | sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches |
Mac OS X Snow Leopard | sudo dscacheutil -flushcache |
Mac OS X Leopard | sudo lookupd -flushcache |
Mac OS X Tiger | lookupd -flushcache |
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
使用 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」清除主机缓存。
5. 在 Mozilla Firefox 中清除 DNS 缓存
1打开 Firefox 浏览器,在地址栏中执行about:networking#dns
。
2点击「清除 DNS 缓存」。
6. 在 Apple Safari 中清除 DNS 缓存
1打开 Safari 浏览器,使用⌘command + ,
快捷键打开「设置」。
2在「高级」选项中,勾选「显示网页开发者功能」。
3在「开发」菜单中选择「清空缓存」或「清空所有用户场景的缓存」(多 Safari 用户场景)。
希望本文能够帮助你更好地理解和清除 DNS 缓存,提升你的网络体验。
如果没记错的话,之前有片文章专门写的是chrome浏览器的清除DNS缓存,今天这篇文章算是集齐了
可以招唤神龙了……
赞,这个清理 DNS 缓存的文章足够用了,博主非常细心。