Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >亲,你有多久没有清理过你电脑的 DNS 缓存了?

亲,你有多久没有清理过你电脑的 DNS 缓存了?

作者头像
明月登楼的博客
发布于 2022-06-09 05:33:32
发布于 2022-06-09 05:33:32
4.9K0
举报

最近明月因为工作关系更换了几次使用的电脑,期间就发现明明另一台电脑访问某个网址是正常,换一台电脑后就会出现无法访问的现象,并且用的还是同一个宽带网络,实在是太诡异了!后来还是突然想起来 DNS 缓存这个问题,立马清除了那台电脑的 DNS 缓存后,打不开的网址顺利的呈现出来了。DNS 缓存就这么重要吗?DNS 缓存是什么原理?如何清除 DNS 缓存?今天明月就详细的给大家说到说到。

什么是 DNS 缓存?

DNS 缓存指 DNS 返回了正确的 IP 之后,系统就会将这个结果临时储存起来。并且它会为缓存设定一个失效时间 (例如 N 小时),在这 N 小时之内,当你再次访问这个网站时,系统就会直接从你电脑本地的 DNS 缓存中把结果交还给你,而不必再去询问 DNS 服务器,变相“加速”了网址的解析。

当然,在超过 N 小时之后,系统会自动再次去询问 DNS 服务器获得新的结果。所以,当你修改了 DNS 服务器,并且不希望电脑继续使用之前的 DNS 缓存时,就需要手动去清除本地的缓存了。

本地 DNS 迟迟不生效或者本地 dns 异常等问题,都会导致访问某些网站出现无法访问的情况,这个时候我们就需要手动清除本地 DNS 缓存,而不是等待!

为什么要清理 DNS 缓存?

一般情况下,我们的电脑是不需要手动去清理 DNS 缓存的,不过有些时候,某些网站以及 CDN 服务因域名或者节点 IP、DNS 服务器地址变更,而我们的电脑还停留在历史访问的 DNS 缓存上,这样就会出现访问网站解析出错,需要手动去更新清除电脑 DNS 缓存。这样,当电脑重新访问某个存在 DNS 变更的网站时,能够重新获取到新的可用地址,从而可以正常访问。

如何清除 DNS 缓存?

不同的系统环境下清除 DNS 缓存也是不一样的,明月今天就给大家分享一下 WindowsLinux、Mac 三个主流桌面操作系统下的具体方法:

1、Windows

在 Windows 系统下清理 DNS 缓存最常见的办法就是命令行式的清理 DNS 缓存,具体操作如下:

Win 键+R 打开“运行”输入“cmd”进入命令行窗口,输入:“ipconfig /flushdns”指令后回车运行即可,如下图:

最后输入“exit”退出命令行即可完成。

2、Linux

在 Linux 上,除非已安装并运行诸如 Systemd-Resolved,DNSMasq 或 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

3、Mac

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

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

打开查找器。

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

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

$ 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 缓存就一定会出现某些网址无法访问的问题,因为互联网是个动态的,每天都会有变化的,清理 DNS 缓存时间拖的越久,这种类似的问题就会越频繁,再加上国内各地的宽带运营商为了提升本地用户的访问速度都会做各个地区运营商层级的 DNS 缓存,就又加重了自己电脑上 DNS 缓存混乱的严重度(重启路由器后恢复网页访问就是这个原因造成的)。另外,所谓的“DNS 污染”也跟 DNS 缓存是有一定关系的,有些非法应用就会篡改 DNS 缓存来实现 DNS 劫持、污染给你的电脑推送广告、静默安装全家桶什么的。

所以,建议大家养成定期清理一下自己电脑 DNS 缓存的好习惯,特别是作为一个站长,这是基本的技术素养哦,别人的网站打不开就说人家网站有问题的时候往往都是自己电脑有这方面的问题,那就闹笑话了不是吗?另外,让自己的路由器每天定时重启一下也是个好习惯,也会减少 DNS 缓存过度滞后引起的访问故障。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 草根博客站长有话说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你真的知道如何正确清除 DNS 缓存吗?( 附全平台详细教程 )
DNS 缓存是一个临时数据库,用于存储有关以前的 DNS 查找的信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应 IP 地址的记录。这消除了对远程 DNS 服务器重复查询的需要,并允许你的 OS 或浏览器快速解析网站的 URL。
iMike
2019/10/21
47.2K0
你真的知道如何正确清除 DNS 缓存吗?( 附全平台详细教程 )
工具推荐|时间久了,电脑上网网速慢了,一招教你解决
使用电脑上网时间久了,电网上网刷新网页的速度明显慢了不少,是什么问题呢,下面让我一步步教你如何让自己的电脑健步如飞,快速冲浪。
六月暴雪飞梨花
2024/04/25
2400
工具推荐|时间久了,电脑上网网速慢了,一招教你解决
如何在 Linux 上刷新 DNS 缓存?
DNS(域名系统)是互联网的一项服务,它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用记住能够被机器直接读取的 IP 数串。在使用域名访问网站时,电脑会将域名解析为 IP 地址。为了提高解析速度,操作系统通常会将解析过的地址存储在 DNS 缓存中。
网络技术联盟站
2024/06/13
1.6K0
如何在 Linux 上刷新 DNS 缓存?
DNS or hosts ?
作为一名IT攻(dǎ)城(gōng)狮(rén),肯定会听过、看过或者在你最初的面试中遇到过这个经典的问题:
仙人技术
2021/08/31
6.5K0
DNS or hosts ?
清除Dns缓存_怎么清除ip地址缓存
dnsmasq的是一个轻量级的DNS、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询,并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存:
全栈程序员站长
2022/09/20
7.3K0
【详解】ping得通外网IP,ping不通外网域名的解决办法
在日常的网络管理或开发过程中,有时会遇到一个奇怪的问题:能够通过IP地址成功ping通外网服务器,但使用域名时却无法ping通。这种情况下,问题通常不在于网络连接本身,而可能是DNS解析出现了问题。本文将探讨几种可能的原因及相应的解决方法。
大盘鸡拌面
2025/01/26
8400
如何不违法访问github
(ps:如果你不想看中间的知识点讲解,我将我配置好的网络节点放在第三步,欢迎大家自取!)
猫咪-9527
2025/01/13
4260
如何不违法访问github
iStore软路由自定义DNS服务
作者:matrix 被围观: 9 次 发布时间:2024-06-10 分类:零零星星 | 无评论 »
HHTjim 部落格
2024/06/11
2.6K0
iStore软路由自定义DNS服务
Mac 强制刷新本地的 DNS 缓存
一般情况下,修改了域名的 DNS 解析,在本地访问该域名时,解析到的 IP 值还是旧的,想立即解析到最新值,那么就需要清理本地的 DNS 缓存,在终端中执行如下命令即可:
轻量级云原生架构实验室
2022/11/30
10.4K2
如何在 Linux 上刷新 DNS 缓存?
DNS(Domain Name System)是一个用于将域名解析为相应 IP 地址的网络服务。在 Linux 操作系统上,为了提高 DNS 查询的性能和效率,系统会缓存最近的 DNS 查询结果。但有时候你可能需要手动刷新 DNS 缓存,以便获取最新的 DNS 解析结果。本文将介绍如何在 Linux 上刷新 DNS 缓存,并提供详细的步骤。
网络技术联盟站
2023/06/19
8.7K0
如何在 Linux 上刷新 DNS 缓存?
使用系统hosts文件进行域名解析
hosts文件用于将域名(主机名)映射到IP地址。它在所有操作系统(包括Linux,Windows和macOS)都是一个纯文本文件。hosts文件允许你设置指定映射域名的IP地址。这个更改只作用于当前计算机,而不会影响全域网的解析方式。 hosts文件优先于DNS。当你键入要访问的网站的域名时,必须将域名转换为其对应的IP地址。操作系统首先检查其hosts文件中是否存在相应的域名,如果该域名没有条目,它将查询配置的DNS服务器以解析指定的域名。 如果你想在不更改域DNS设置的情况下测试你的网站,这将非常有用
入门笔记
2022/06/02
5.5K0
如何解决 Error 1001 DNS解析错误:Error 1001 DNS Resolution Error`(Ray ID: 917c89...)从诊断到修复的完整指南
当您访问网站时遭遇 Error 1001 DNS Resolution Error(Ray ID: 917c89…)时,意味着用户的请求在到达目标服务器之前,DNS解析环节已经失败。本文将从技术原理到实践操作,系统性地解析该错误的解决方案。
猫头虎
2025/02/27
3650
如何解决 Error 1001 DNS解析错误:Error 1001 DNS Resolution Error`(Ray ID: 917c89...)从诊断到修复的完整指南
笔记 | SwitchHosts自动刷新DNS缓存和重启nscd服务[Ubuntu]
众所周知,Github在国内由于DNS污染而常常无法访问。故而诞生了种种解决手段。其中修改本地hosts文件直接进行本地DNS解析是其中一个合法且免费的手段。
Ranlychan
2023/03/05
3.5K0
笔记 | SwitchHosts自动刷新DNS缓存和重启nscd服务[Ubuntu]
DNS 解析问题:DNS 解析失败,无法访问域名
是山河呀
2025/02/05
2.6K0
GitHub访问不了或者很慢的解决办法
国内网络访问 Github 速度过慢的原因有许多,但其中最直接和原因是其 CND 域名遭到 DNS 污染,导致我们无法连接使用 GitHub 的加速服务,因此访问速度缓慢。简单理解:CDN「Content Delivery Network」,即内容分发网络,依靠部署在各地的边缘服务器,平衡中心服务器的负荷,就近提供用户所需内容,提高响应速度和命中率。DNS 污染,是指一些刻意或无意制造出来的数据包,把域名指向不正确的 IP 地址,阻碍了网络访问。我们默认从目标网址的最近 CDN 节点获取内容,但当节点过远或 DNS 指向错误时,就会操成访问速度过慢或无法访问的问题。
天乐404
2023/11/16
12.6K0
GitHub访问不了或者很慢的解决办法
Linux缓存服务NSCD用法总结及实践 - Name Service Cache Daemon
NSCD (Name Service Cache Daemon)是一个系统缓存服务,用于缓存常见的名称服务信息,例如用户、组、主机名和服务。它可以提高系统的性能,减少对名称服务的频繁查询和网络流量,从而加快系统的响应速度。
RokasYang
2023/03/20
10.9K0
Linux缓存服务NSCD用法总结及实践 - Name Service Cache Daemon
Google hosts - 简单介绍与使用方法
可以自己百度Google hosts寻找最新的hosts文件,获取前往GitHub上由大佬们维护的项目获取:https://github.com/googlehosts/hosts
雨临Lewis
2022/01/11
27.4K0
告别无法访问的github(附解决方案)
本来很多域名对应的IP地址都是由上游可信赖的服务器提供的,这样可以降低网络上的流量压力
行哥玩Python
2021/11/23
21.1K0
解决github图片及网页加载不出来
兮动人
2023/09/03
5650
DNSmasq的使用(一)
DNSmasq是一个用于配置DNS和DHCP的轻便工具,适合小型网络,利用得当可以防污染,防劫持,消除广告,还可以搭配其他软件实现更多功能
Huramkin
2018/09/17
3.4K0
相关推荐
你真的知道如何正确清除 DNS 缓存吗?( 附全平台详细教程 )
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档