需要configurationBIND服务器查询日志与版本

我一直在试图让BIND服务器查询日志工作,创build3个版本,每个最多100MB。 系统是SUSE SLES 11.我发现了很多如何在networking上的文章,但没有任何事情比破坏DNS服务器。 该机器是一个虚拟的客人,所以我可以继续回到一个工作的BIND服务器,不做任何查询日志logging的未经修改的快照。

如果我手动添加日志语句到named.conf中,named将不再加载。 消息显示“isc_stdio_open”,无论我告诉它“失败:找不到文件”。 chown named.named logfile不能以任何方式帮助或改变行为。 直接使用apparmorconfiguration文件做任何事情,包括只保存它而不改变它,apparmor将永远不会再加载该configuration文件。 它会说已经有一个configuration文件。

恢复快照 – >现在回到没有改变

使用GUI工具为dns服务器configuration日志logging。 命名将不会启动BC它仍然没有权限或无法find日志文件。 chown named.named日志文件没有帮助。 使用gui工具来configurationapparmor。 这至less不会杀死apparmorconfiguration文件,但无论如何不会以任何方式帮助情况。

我已经在2个不同的VM / s上尝试过这两个SLES 11,两者都只是基本的采取所有的默认安装,而不是在生产。

我已经尝试了使用gui工具和手动修改configuration文件的几种不同的组合。 我已经尝试了不同位置的日志文件,如/ var / log / querylog,/ var / log / querylogs / querylog,/ root / queries。 我已经尝试使用触摸创build日志文件,然后将其chown到named.named。 我已经尝试使用gui来创build文件/目录,然后设置权限。

有谁知道如何获得DNS查询日志,在SLES 11 BIND服务器上的3个文件轮换工作? 这似乎不应该在任何地方靠近这个麻烦的地方。


编辑

目前named.conf的日志logging部分如下所示:

logging {channel log_file {file“/var/log/query_log.log”version 3 size 100M; }; catagory默认{log_file; }; };

在/ var / log / messages中报告的是:

工作目录不可写入。
isc_stdio_open'/var/log/named/query_log.log'失败:文件未find>configuration日志logging:找不到文件退出(由于致命错误)

所以它看起来像是有某种权限问题。 我已经创build了该目录,并在其中放置一个名为query_log.log的空白文件。 我做了命名的所有者,并授予每个人在/ var / log / named上读取,写入和执行,并给每个人读取关于/var/log/named/query_log.log的信息

ls -l / var / log / named

-rwxrwxrwx l命名为0 Apr 26 08:43 query_log.log

ls – / var / log

//各种文件和目录
drwxr-xr-x 2命名为4093 Apr 26 09:26 named


编辑2

启动绑定服务器我使用rcnamed start如果我删除日志logging部分,以便我可以启动named,运行ps aux | grep named显示/ usr / sbin / named正在以用户名运行。

感谢您的帮助。 我需要做些什么才能做到这一点?

有谁知道如何获得DNS查询日志,在SLES 11 BIND服务器上的3个文件轮换工作? 这似乎不应该在任何地方靠近这个麻烦的地方。

它不应该是一个麻烦 – 语法是直接和良好的(成千上万的名称服务器pipe理员已经使用它)。这是理论上可能的,但不太可能你发现了一个新的bug。 让我们看看更可能的原因。

如BINDpipe理员参考手册(也称为“ARM”)中所解释的,适用于BIND版本的ARM拷贝包含在您的BIND源文件中,或可在ISC网站上find)6.2 .10,你应该先定义一个频道,例如:

channel example_query_channel { file "bind_query.log" versions 3 size 20m; print-time yes; print-category yes; }; 

然后将您感兴趣的类别(即“查询”)指向该频道:

 category queries { example_query_channel; }; 

您可以使用BIND附带的named-checkconf实用程序在您尝试重新启动BIND之前检查configuration文件的语法是否有错误。

如果这不适合你,你有一个文件系统的权限问题,而不是一个BIND问题具体; BIND被阻止以某种方式写入您在相应目录中指定的文件。 也许你正在删除以非root用户身份运行的特权,并且该用户没有-x perms来遍历从文件系统根目录到你正在编写的目录的path中的所有目录,或者你可能没有 – w perms将文件写入该目录。 或者你可能有另一个安全层(你提到AppArmor),这是进一步复杂的事情。