首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux (和FreeBSD)上刷新DNS解析器缓存

如何在Linux (和FreeBSD)上刷新DNS解析器缓存
EN

Server Fault用户
提问于 2014-11-01 04:46:01
回答 4查看 50.1K关注 0票数 8

我是几个Linux和FreeBSD服务器的管理员,这里有一个问题:

服务器运行一个工具,它每分钟为整个网络执行大量DNS查询。当它执行查询时,结果会在系统范围内缓存。如果DNS条目发生更改,则更改将在很长一段时间内得到。

刷新DNS缓存的方法是什么?我的老板几乎逼我把软件转移到有ipconfig /flushdns调用的Windows上。我告诉我的老板,我将在周末解决这个问题,周一所有的Linux和FreeBSD都会刷新缓存。如果我不这么做,他会强迫我制作Windows服务器并在它们上运行软件。

如何在Linux和FreeBSD上刷新DNS缓存?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2014-11-01 18:16:06

我不明白你的问题,因为你说了些废话。

如果您所在的Linux/Unix系统没有运行DNS服务器“命名/绑定/其他”,则系统不会缓存任何DNS查询。应用程序(DNS客户端)每次只查询DNS服务器而不进行缓存,它们每次都会查询DNS服务器。如果您使用DNS服务器“命名/绑定”并希望清除缓存,只需重新启动此服务(Freebsd:/etc/rc.d/named restart),但这是没有意义的。

如果DNS条目发生更改,则更改将在很长一段时间内得到。

这怎么可能?您是否运行DNS服务器?如果运行辅助DNS服务器,您只需从主服务器获得区域的副本,就没有必要刷新缓存。您可以删除区域文件并重新启动DNS服务,从而从主服务器上推送服务器更新区域。如果运行主DNS并希望更新区域信息,请更改“区域中的序列”并重新启动服务:

代码语言:javascript
复制
# /etc/rc.d/named restart (for named)
# rndc (for bind9)

若要更新区域信息,请执行以下操作。要检查您是否得到了正确的dns答案,请使用:

代码语言:javascript
复制
# dig @dns_server example.com

推动我将软件移动到具有ipconfig /flushdns的Windows

为了什么?

票数 10
EN

Server Fault用户

发布于 2014-11-01 04:54:33

假设您正在运行名称服务缓存守护进程,您将"nscd -i主机“作为根用户运行

票数 1
EN

Server Fault用户

发布于 2014-11-01 07:27:11

您可能要做的是以下几个方面的组合。

如果您知道DNS区域中的各个条目变化很快,那么将TTL设置为区域的一个较小的值。

通常,有一个NameServerCacheDaemon (nscd)进程在标准版本Linux中运行(不确定FreeBSD)。清除缓存的一种快速方法是重新启动这个守护进程。

最后,如果在主机上运行缓存DNS服务器,则可以轻松重新启动dns服务,从而清除缓存。我认为,如果您使用dns控制命令,甚至可能会有一个缓存清除。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/641287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档