如何清除linux下DNS缓存 linux清除dns缓存命令

linux下如何清理dns 缓存?首先我们要了解,dns查询的基本逻辑和缓存的存在位置,基本逻辑为:客户端 - 本机器dns解析器(如host,dnsmasq)- 本地dns服务器(比如家庭路由器)- 网络dns服务器,为了加速查询,在解析器和服务器上都有缓存在,一般而言我们要清理的是本机器上的dns缓存。

显然,我们必须首先了解本地机器用的是什么解析器,可以通过看哪个进程占据了53端口来查询,因为53端口是dns服务器端口。

可以通过以下指令:

分别会下列结果

针对不同的解析器

可以用不同的命令清理

针对system-resolved:

同时为了验证dns缓存真的被清理了,可以用命令来查看缓存

针对dnsmasq:

如何清除linux下DNS缓存

如果是清除NSCD上的Cache,可重新启动NSCD服务来达成清除DNS

Cache的效果。使用的命令是:

# service nscd restart或

# /etc/init.d/nscd restart如果是清除BIND服务器上的CACHE,使用的命令是:

# rndc flush如果是用dnsmasq实现的DNS服务器,使用的命令是:

$ sudo /etc/init.d/dnsmasq restart另外,重启系统也行。

如何清空linux的DNS缓存

如果是清除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

另外,重启也行。

未经允许不得转载:国外服务器评测 » 如何清除linux下DNS缓存 linux清除dns缓存命令