关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

怎么清除本地电脑DNS缓存

发布时间:2020/12/1 20:12:47
香港云服务器

每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应 IP 地址的记录,这解决了向DNS 服务器重复查询的需要,并允许你的系统或浏览器快速解析网站的网址。但是在某些情况下,例如:对网络问题进行故障排除,或者在更改 DNS 解析器之后,你将需要刷新 DNS 缓存。这将清除缓存的 DNS 条目,并根据新配置的 DNS 设置执行后续查找以解析域名。

本文将讲解如何在不同的操作系统和 Web 浏览器上刷新 DNS 缓存。



一、在 Windows 上清除/刷新 DNS 缓存

对于所有 Windows 版本,清除 DNS 缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行 ipconfig /flushdns

Windows 10 和 Windows 8

要在 Windows 10 和 Windows 8 中清除 DNS 缓存,请执行以下步骤:

1.  Windows 搜索栏中键入 cmd 

2. 右键单击 “命令提示符,然后右击 以管理员身份运行。这将打开 命令提示符” 窗口。

3. 在命令行上,键入以下行,然后按回车:

ipconfig /flushdns

成功后,系统将返回以下消息:

Windows IP 配置

已成功刷新 DNS 解析缓存。

Windows 7

要在 Windows 7 中清除 DNS 缓存,请执行以下步骤:

1. 单击开始按钮。

2. 在开始菜单搜索文本框中键入 cmd

3. 右键单击 “命令提示符,然后单击 以管理员身份运行。这将打开 命令提示符” 窗口。

4. 在命令行上,键入以下行,然后按回车:

ipconfig /flushdns

成功后,系统将返回以下消息:

Windows IP 配置

已成功刷新 DNS 解析缓存。



二、在 Linux 上清除/刷新 DNS 缓存

 Linux 上,除非已安装并运行诸如 Systemd-ResolvedDNSMasq  Nscd 之类的缓存服务,否则没有操作系统级 DNS 缓存。根据 Linux 发行版和所使用的缓存服务,清除 DNS 缓存的过程有所不同。

系统化解决

大多数现代 Linux 发行版,例如 Ubuntu 18.04,都使用 systemd 解析的服务来缓存 DNS 条目。

要查找服务是否正在运行,请运行:


$ sudo systemctl is-active systemd-resolved.service

如果该服务正在运行,则将打印命令 active,否则将看到 inactive

要清除系统解析的 DNS 缓存,你需要键入以下命令。


$ sudo systemd-resolve --flush-caches

成功后,该命令不会返回任何消息。

Dnsmasq

Dnsmasq 是轻量级的 DHCP 和 DNS 缓存名称服务器。

如果你的系统使用 DNSMasq 作为缓存服务器,则要清除 DNS 缓存,需要重新启动 Dnsmasq 服务:


$ sudo systemctl restart dnsmasq.service

也可以使用以下命令


$ sudo service dnsmasq restart

NSCD

NSCD 是一个缓存守护程序,它是大多数基于 RedHat 的发行版的首选 DNS 缓存系统。

如果系统使用 NSCD 来清除 DNS 缓存,则需要重新启动 NSCD 服务: