Windows/Mac/Linux:全平台DNS刷新教程
在日常使用网络的过程中,我们有时会遇到网站无法访问、域名解析错误或更新了 DNS 记录但本地仍指向旧地址等问题。这通常是由于本地的 DNS 缓存未能及时更新所致。DNS(Domain Name System)缓存是为了加速网页浏览,将已访问网站的域名与 IP 地址对应关系临时存储在本地。当缓存信息过时或错误时,就需要我们手动刷新。
本文将详细介绍如何在三大主流操作系统——Windows、Mac 和 Linux 上清除 DNS 缓存。
1. Windows 系统
在 Windows 上刷新 DNS 缓存非常简单,只需一个命令即可完成。
操作步骤:
-
以管理员身份打开命令提示符 (Command Prompt) 或 PowerShell:
- 点击“开始”按钮。
- 输入
cmd或powershell。 - 在搜索结果中右键点击“命令提示符”或“Windows PowerShell”,选择“以管理员身份运行”。
-
执行刷新命令:
在打开的命令行窗口中,输入以下命令,然后按 Enter 键:
bash
ipconfig /flushdns -
查看结果:
如果命令成功执行,系统会显示“已成功刷新 DNS 解析缓存”或类似的消息。
2. macOS 系统
macOS 的刷新命令会因版本的不同而略有差异,但对于近代版本(如 macOS Sierra 10.12 及以后),可以使用以下通用命令。
操作步骤:
-
打开终端 (Terminal):
- 可以通过“启动台 (Launchpad)” -> “其他”文件夹找到“终端”。
- 或者使用 Spotlight 搜索(快捷键
Command + Space),输入Terminal并打开它。
-
执行刷新命令:
在终端窗口中,输入以下命令,然后按 Enter 键。此操作会同时刷新 DNS 缓存并向 mDNSResponder 服务发送一个更新信号。
bash
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder -
输入密码:
执行sudo命令需要管理员权限,系统会提示您输入当前用户的登录密码。输入密码时,屏幕上不会显示任何字符,输入完成后按 Enter 即可。 -
完成:
该命令执行后通常不会返回任何成功信息,但 DNS 缓存已经被清除了。
3. Linux 系统
Linux 发行版众多,刷新 DNS 的方法也因此有所不同,主要取决于所使用的 DNS 缓存服务。以下是几种常见情况:
a) 使用 systemd-resolved
大多数现代 Linux 发行版(如 Ubuntu 18.04/20.04/22.04、Debian 10+、Fedora 等)都使用 systemd-resolved 服务来管理 DNS 解析。
操作步骤:
-
打开终端。
-
执行刷新命令:
bash
sudo systemd-resolve --flush-caches -
验证(可选):
你可以通过以下命令查看缓存统计信息,确认缓存大小是否已显著减少:
bash
sudo systemd-resolve --statistics
b) 使用 nscd
一些较旧的系统或特定配置的系统可能使用 nscd (Name Service Cache Daemon) 来处理 DNS 缓存。
操作步骤:
-
打开终端。
-
重启
nscd服务以刷新缓存:
bash
sudo /etc/init.d/nscd restart
或者使用service命令:
bash
sudo service nscd restart
或者使用systemctl(如果nscd被 systemd 管理):
bash
sudo systemctl restart nscd.service
c) 使用 dnsmasq
如果你在本地网络中将 dnsmasq 配置为 DNS 缓存(常见于路由器或作为本地开发环境的一部分),可以这样刷新:
操作步骤:
-
打开终端。
-
重启
dnsmasq服务:
bash
sudo /etc/init.d/dnsmasq restart
或者:
bash
sudo systemctl restart dnsmasq.service
如何确定使用哪种方法?
如果不确定你的 Linux 系统正在使用哪个服务,可以尝试使用 ps 命令或 systemctl 查看正在运行的服务:
“`bash
检查 systemd-resolved 是否在运行
systemctl is-active systemd-resolved
检查 nscd 是否在运行
systemctl is-active nscd
检查 dnsmasq 是否在运行
systemctl is-active dnsmasq
``active` 状态,选择对应的方法即可。
根据哪个服务处于
总结
刷新 DNS 缓存是解决网络连接和域名解析问题的有效手段。虽然不同操作系统的命令各异,但操作过程都相当直接。当你遇到无法访问某个更新了 IP 地址的网站,或者感觉网络连接出现异常时,不妨试试清除本地的 DNS 缓存,也许问题就迎刃而解了。