新闻公告关注获取即时动态
< 返回

如何清除本地DNS缓存

2020-11-10 14:14:52 来源:蓝队云 阅读量:2012

每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应 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 服务:


$ sudo systemctl restart nscd.service
或者
$ sudo service nscd restart



三、在 MacOS 上清除/刷新 DNS 缓存

根据你所运行的版本,在 MacOS 中刷新缓存的命令略有不同。该命令必须以具有系统管理员特权的用户(sudo 用户)身份运行。

要清除 MacOS 中的 DNS 缓存,请执行以下步骤:

1. 打开查找器。

2. 转到应用程序>实用程序>终端。这将打开终端窗口。

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


$ sudo killall -HUP mDNSResponder

输入你的 sudo 密码,然后再次按回车。成功后,系统不会返回任何消息。

对于早期版本的 MacOS,刷新缓存的命令不同。

· MacOS 版本 10.11 10.9


$ sudo dscacheutil -flushcache
$ sudo killall -HUP mDNSResponder

· MacOS 版本 10.10


$ sudo discoveryutil mdnsflushcache
$ sudo discoveryutil udnsflushcaches

· MacOS 版本 10.6 10.5


$ sudo dscacheutil -flushcache



四、清除/刷新浏览器 DNS 缓存

大多数现代的 Web 浏览器都有一个内置的 DNS 客户端,以防止每次访问该网站时重复查询。

谷歌浏览器 Chrome

要清除 Google Chrome DNS 缓存,请执行以下步骤:

1. 打开一个新标签,然后在地址栏输入 chrome://net-internals/#dnsChrome

2. 点击清除主机缓存按钮。

如果那对你不起作用,请尝试清除缓存和 Cookie

1. 按下 CTRL+Shift+Del 以打开 清除浏览数据对话框窗口。

2. 选择一个时间范围。选择所有时间以删除所有内容。

3. 选中 “Cookie 和其他站点数据缓存的图像和文件框。

4. 点击清除数据按钮。

此方法适用于所有基于 Chrome 的浏览器,包括 ChromiumVivaldi Opera

火狐 Firefox

要清除 Firefox DNS 缓存,请执行以下步骤:

1. 在右上角,单击汉堡包图标 ? 以打开 Firefox 的菜单:

2. 点击 ? Options (Preferences) 链接。

3. 单击左侧的隐私和安全性隐私选项卡。

4. 向下滚动到该 History 部分,然后单击 Clear History… 按钮。

5. 选择要清除的时间范围。选择所有内容以删除所有内容。

6. 选择所有框,然后单击立即清除

如果这对你不起作用,请尝试以下方法并暂时禁用 DNS 缓存。

1. 打开一个新标签,然后在 Firefox 的地址栏中输入 about:config 

2. 搜索 network.dnsCacheExpiration,将值暂时设置为 0,然后单击 确定。然后,改回默认值,然后单击 确定

3. 搜索 network.dnsCacheEntries,将值暂时设置为 0,然后单击 确定。然后,改回默认值,然后单击 确定


结论

如果还存在问题,Linux MacOS 还可以使用 dig 命令来查询 DNS 并对 DNS 问题进行故障排除。

 


网站地图 太阳城代理 申博138开户 百家乐真人游戏 777老虎机游戏
申博登录网址 菲律宾申博太阳城官网 申博官网登录 www.123tyc.com
申博官网登录 申博电子游戏 太阳城申博开户 盛618登入
太阳城会员登入 老虎机游戏 太阳城申博开户 申博电子游戏
盛618官网 申博游戏手机下载 申博代理 申博太阳城现金网