linux下清理dns 缓存

linux下清理dns 缓存,第1张

首先我们要了解,dns查询的基本逻辑和缓存的存在位置

如图所示,基本逻辑为:

客户端 - 本机器dns解析器(如host,dnsmasq)- 本地dns服务器(比如家庭路由器)- 网络dns服务器

为了加速查询,在解析器和服务器上都有缓存在,一般而言我们要清理的是本机器上的dns缓存

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

可以通过以下指令:

分别会下列结果

针对不同的解析器

可以用不同的命令清理

针对system-resolved:

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

针对dnsmasq:

参考:

https://devconnected.com/how-to-flush-dns-cache-on-linux/

Linux 刷新DNS缓存

开启本地DNS 缓存的服务

chkconfig –list|grep nscd

启动本地DNS 缓存服务即可:

# service nscd start

反之

# service nscd stop

在linux下没有强制清除DNS缓存的命令。我们可以通过删除其后台数据库记录信息,达到清除DNS缓存的目的:

# rm /var/db/nscd/hosts

# service nscd restart

bind 提供的rndc 命令可以清空缓存的功能:

# rndc flush

首先检查一下服务器中安装的dns版本,可以使用命令 rpm -qa | grep bind

例如检查结果如果是 bind-9.x.x

然后使用rpm -e bind-9.x.x 进行卸载


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7329167.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存