DNS - bind9 chroot jail - 记录所有查询

DNS - bind9 chroot jail - 记录所有查询

我的 BIND9 在 chroot jail 下运行,然而,我在尝试记录所有查询时遇到了困难。

/var/chroot/bind9/我在创建目录的地方绑定了/var/chroot/bind9/var/log/。我希望将查询日志放在正常的 /var/log/ 目录下,因此我将以下内容添加到我的目录中,named.conf.local然后执行了此操作:

# touch /var/log/query.log
# ln -s /var/log/query.log /var/chroot/bind9/var/log/query.log
# chown -R bind:bind /var/chroot/bind9/var/log/

logging {
    channel query.log {
        file "/var/log/query.log";
        severity debug 3;
    };  
    category queries { query.log; };
};

但我一直得到这样的信息:named[2270]: isc_log_open '/var/log/query.log' failed: invalid file ‘任何帮助都将不胜感激。’

答案1

确保/var/chroot/bind9/var/log/由以该身份运行的用户拥有绑定。

看来你在 ubuntu 上。按照这个或禁用 apparmor

https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/236510

答案2

您不能在 chroot jail 中使用指向 jail 外部的符号链接 - 符号链接是相对于新的根目录进行解释的。

所以你的链接:

# ln -s /var/log/query.log /var/chroot/bind9/var/log/query.log

当运行chroot('/var/chroot/bind9')最终指向其自身时!

相关内容