如何清空linux中dns缓存?

发布时间:2020-11-14编辑:脚本学堂
本文介绍了linux下清空dns缓存的方法,linux下dns缓存实现通常有两种方式,一种是用dns缓存程序nscd(name service cache daemon)负责管理dns缓存,一种实现dns缓存则是用bind来架设caching name server来实现。

一、linux下清空dns缓存

linux下dns缓存实现通常有两种方式:
一种是用dns缓存程序nscd(name service cache daemon)负责管理dns缓存。
一种实现dns缓存则是用bind来架设caching name server来实现。

如果是清除nscd上的cache,可重新启动nscd服务来达成清除dns cache的效果。

命令:
 

复制代码 代码示例:
# service nscd restart
或是
#/etc/init.d/nscd restart

如果是清除bind服务器上的cache,命令:
 

复制代码 代码示例:
# rndc flush

如果你的dns服务器是用dnsmasq实现的,命令:
 

复制代码 代码示例:
$ sudo /etc/init.d/dnsmasq restart

注:dnsmasq是一个轻巧的,容易使用的dns服务工具,它可以应用在内部网和internet连接的时候的IP地址nat转换,也可以用做小型网络的dns服务。

二、其它操作系统下清空dns缓存的方法
1、微软windows下如何清空dns:
你可以用以下命令来清空dns 缓存内容。
 

复制代码 代码示例:
ipconfig /flushdns

你也可以用以下命令来查看dns缓存内容。
 

复制代码 代码示例:
ipconfig/displaydns


windows下的dns cache 是由dns client后台进程控制的,你可以在控制面板 ->服务中将其关闭,
这样windows就不会进行dns缓存,每次都将直接查询dns server。

2、mac osx下如何清空dns缓存:
在mac osx中,你可以用以下命令来清空dns缓存内容:
 

复制代码 代码示例:
bash-2.05a$lookupd-flushcache

三、其它一些dns cache小技巧
q: 如何查看bind dns server的cache :
a: 在 bind 9中,可以使用rndc -dumpdb命令来查看dns cache,当然你的rndc要先配置好。这个命令会在/var/named(这个目录是在 named.conf 文件中指定的)目录中生成named_dump.db文件。
在bind8下,可以试试用kill -int named_pid。

q: dns cache的时间如何设置:
a: 在bind9 中,使用ttl参数来设置dns默认的缓存时间,但要记住这个是你解析的域名在别人的dns中的缓存时间。

q: 在客户端如何清空dns cache:
a: 在unix下,dns客户端只是几个例程,负责转发和接受查询的功能,并不缓存。

q: 在dns服务器端如何清空dns cache:
a: 最简单的方法就是重新启动 named 进程;当然也有不用重启的方法: rndc flush

有关清除dns缓存的方法就介绍这些了,包括了linux清除dns缓存,windows及其它系统中清除dns缓存的方法,希望对大家有所帮助。