专栏首页运维之美你真的知道如何正确清除 DNS 缓存吗?( 附全平台详细教程 )

你真的知道如何正确清除 DNS 缓存吗?( 附全平台详细教程 )

DNS 缓存是一个临时数据库,用于存储有关以前的 DNS 查找的信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应 IP 地址的记录。这消除了对远程 DNS 服务器重复查询的需要,并允许你的 OS 或浏览器快速解析网站的 URL。

但是在某些情况下,例如:对网络问题进行故障排除,或者在更改 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 Configuration

Successfully flushed the DNS Resolver Cache.

Windows 7

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

  1. 单击开始按钮。
  2. 在开始菜单搜索文本框中键入 cmd。
  3. 右键单击 “命令提示符”,然后单击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。
  4. 在命令行上,键入以下行,然后按回车:
ipconfig /flushdns

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

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

在 Linux 上清除/刷新 DNS 缓存

在 Linux 上,除非已安装并运行诸如 Systemd-ResolvedDNSMasqNscd 之类的缓存服务,否则没有操作系统级 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 的浏览器,包括 Chromium,Vivaldi 和 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,然后单击 “确定” 。然后,改回默认值,然后单击 “确定”。

结论

至此,你已经了解了如何在 Windows,Linux 和 MacOS 操作系统上清除或刷新 DNS 缓存。

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

来源:myfreax 原文:https://tinyurl.com/yyl2n44e 题图:来自谷歌图片搜索 版权:本文版权归原作者所有 投稿:欢迎投稿,邮箱: editor@hi-linux.com

本文分享自微信公众号 - 运维之美(Hi-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Windows下配置定时运行的Python脚本

    目前我们写出的Python代码,无论是jupyter notebook里还是变成.py格式的脚本,都是需要手动点按钮运行,但是在有些需要自动化定期运行脚本的情况...

    蛰虫始航
  • 2019windows上安装Mac OS 10.14过程详细截图

    之前VMware12里面的Mac OS10.10升级后,键盘鼠标就用不了了。试了几次都这样,只能重装VMware14, 安装Mac OS 10.14系统。把步骤...

    tandaxia
  • MacOS CryptoMining恶意软件的崛起

    在我们对Cryptojacking进行介绍之后,让我们仔细看看目前macOS平台上的情况。

    安恒网络空间安全讲武堂
  • 快速调用复杂命令,还支持中文注释,命令行备忘工具navi上线两天就火了

    但是,命令的帮助文档往往内容太太太太多了,在里面找到自己关心的部分实在太难了。查找出来的方法也不能直接使用,还需要手动粘贴下来。

    量子位
  • 舒适美观的mac终端, iTerm+zsh+powerlevel9k+vim+virtualenv

    SeanDepp
  • XCode升级到版本11终端出现的魔性问题修正

    基本能搜索到的方案都是把那个脚本的换行符,用 vim 调整下 我一脸懵逼,我要去改哪个脚本???

    CRPER
  • Mac电脑怎样关闭sip,苹果电脑关闭系统完整性保护SIP的方法

    “xxx”因为出现问题而无法打开。请与开发者联系,以确定“xxx”可以配合Macos版本使用。您可能需要重新安装应用程序。请务必安装适用于该应用程序和Macos...

    MAC先森
  • 教你秒建受信任的本地 SSL 证书,彻底解决开发测试环境的无效证书警告烦恼!

    您是否厌倦了在本地开发项目中使用不受信任的 SSL 证书?维护自己的证书颁发机构(CA)是一个痛苦的事情,这过程中需要用到神秘的程序和命令。在本指南中,我将向您...

    iMike
  • mac苹果电脑怎么查看本机IP与MAC地址

    在windows系统中与Mac系统中查看本机ip地址有些不同,那么在Mac系统中该如何查看本机的IP地址以及物理MAC地址呢?给您带来相关的查看方法,具体步骤如...

    MAC先森
  • Safari扩展

    本系列文章分两部分,介绍macOS浏览器扩展背后的技术,以及恶意插件如何窃取密码、银行细节和其他敏感用户数据。

    安恒网络空间安全讲武堂

扫码关注云+社区

领取腾讯云代金券