如何刷新Linux(和FreeBSD)上的DNSparsing器caching

我是多个Linux和FreeBSD服务器的pipe理员,这是我的问题:

服务器运行一个工具,每分钟为整个networking做很多DNS查询。 当它执行一个查询时,结果被系统caching。 如果DNS条目发生更改,则更改将在稍后进行。

什么是冲洗DNScaching的方式? 我的老板几乎推动我把软件移到有ipconfig /flushdns调用的Windows。 我告诉老板我会在周末和周一解决这个问题,所有的Linux和FreeBSD都会刷新caching。 如果我不这样做,他会迫使我制作Windows服务器并在其上运行软件。

如何刷新Linux和FreeBSD上的DNScaching?

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

如果您在Linux / Unix系统上不运行名为/ bind / other的DNS服务器,则系统不会caching任何DNS查询。 应用程序(DNS客户端)每次仅查询DNS服务器而不进行caching,他们每次都查询DNS服务器。 如果您使用名为/ bind的DNS服务器,并且想要清除caching,只需重新启动该服务(Freebsd: /etc/rc.d/named restart ),但是这没有意义。

如果DNS条目发生更改,则更改将在稍后进行。

这怎么可能? 你是否运行DNS服务器? 如果您运行辅助DNS服务器,您只需从主服务器获得该区域的副本,并且没有意义刷新caching。 您可以通过删除区域文件并重新启动DNS服务来从主服务器推送服务器更新区域。 如果您运行主DNS并想更新区域信息,请更改区域中的串行并重新启动服务:

 # /etc/rc.d/named restart (for named) # rndc (for bind9) 

更新区域信息。 要检查你是否得到正确的DNS答案使用:

 # dig @dns_server example.com 

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

为了什么?

假定您正在运行名称服务caching守护程序,则以root身份运行“nscd -i hosts”

你可能想要做的是以下的组合。

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

一般来说,有一个NameServerCacheDaemon(nscd)进程运行在标准版本的Linux(不知道FreeBSD)。 清除caching的一个快速方法是重新启动这个守护进程。

最后,如果您在主机上运行cachingDNS服务器,则可以轻松地重新启动DNS服务,并清除caching。 我认为,如果使用dns控制命令,甚至可能会清除caching。