linux刷新dns缓存
Linux下DNS缓存实现通常有两种方式:
一种是用DNS缓存程序NSCD负责管理DNS缓存。
一种实现DNS缓存则是用Bind来架设Caching Name Server来实现。
清除NSCD
#/etc/init.d/nscdrestart
或者:#servicenscdrestart
或者:#servicenscdreload
如果nscd无法执行,先安装nscd,命令如下:
#apt-getinstallnscd
如果是清除BIND服务器上的CACHE,用这个命令:
#rndcflush
如果你的DNS服务器是用dnsmasq实现的,用下面这个命令:
#/etc/init.d/dnsmasqrestart
2. 如何在 Linux/Unix/Mac 下清除 DNS 查询缓存
如何: 清除 nscd dns 缓存
Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显着加快连续访问同一数据的速度,并能提高整个系统的性能。只需重启nscd即可刷新缓存:
$ sudo /etc/init.d/nscd restart
或
# service nscd restart
或
# service nscd reload
这个守护进程给最常用的名称服务请求提供了高速缓存。默认的配置文件/etc/nscd.conf,其决定了高速缓存守护进程的行为。
清除 dnsmasq dns 缓存
dnsmasq的是一个轻量级的DNS、TFTP和DHCP服务器。它的目的是给局域网提供配对的DNS和DHCP服务。 dnsmasq接受DNS查询,并从一个小的本地高速缓存应答它们或将其转发到一个真正的递归DNS服务器。该软件也被安装在很多便宜的路由器上来缓存DNS查询。只需重新启动dnsmasq的服务来清除DNS缓存:
$ sudo /etc/init.d/dnsmasq restart
或者
# service dnsmasq restart
清除BIND缓存服务器的dns缓存
一台BIND缓存服务器从另一台服务器(区域主)响应主机的查询而获得信息,然后保存(缓存)数据到本地。您所要做的就是重启BIND以清除其缓存:
# /etc/init.d/named restart
3. 如何清除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 缓存,请执行以下步骤:
在 Windows 搜索栏中键入 cmd 。
右键单击 “命令提示符”,然后右击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。
在命令行上,键入以下行,然后按回车:
ipconfig /flushdns
成功后,系统将返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
Windows 7
要在 Windows 7 中清除 DNS 缓存,请执行以下步骤:
单击开始按钮。
在开始菜单搜索文本框中键入 cmd。
右键单击 “命令提示符”,然后单击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。
在命令行上,键入以下行,然后按回车:
ipconfig /flushdns
成功后,系统将返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
在 Linux 上清除/刷新 DNS 缓存
在 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
在 MacOS 上清除/刷新 DNS 缓存
根据你所运行的版本,在 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 mdnsf
4. 刷新DNS命令 如何刷新DNS缓存
1、“WIN +R”快捷键打开运行窗口,输入“cmd”命令点击确认。