Bind9 和 Debian10,无法运行命名

Bind9 和 Debian10,无法运行命名

我正在使用 Debian 10。我安装了 bind9:

sudo apt-get install bind9 bind9utils dnsutils

我准备了自己的配置文件(在路径中/home/student/dns/myconf.conf):

options {
directory "/var/named";
listen-on port 53 {127.0.0.1;};
transfer-source 127.0.0.1;
};
include "/etc/bind/rndc.key";
controls{
inet 127.0.0.1 port 953 allow {127.0.0.1;}
keys{rndc-key;};
};

检查了它:

sudo /etc/init.d/bind9 stop
sudo rndc-confgen -a -u bind -t /home/student/dns
sudo /etc/init.d/bind9 start

然后尝试运行它:

sudo /usr/sbin/named -u bind -t /home/student/dns

但是当我这样做的时候,我想检查它是否有效:

sudo ps aux | grep named

但它什么都没显示。当我sudo service bind9 status这样做时,它被激活了。出了什么问题?我应该使用 chroot 还是其他什么?为什么这不起作用?

此外,我无法让 Bind 记录日志。

答案1

BIND 配置文件的默认位置是

/etc/bind/named.conf

您可以通过查看系统日志来确认加载了哪个 .conf 文件

cat /var/log/syslog |grep "loading configuration"

您可能会看到以下错误之一

May 13 02:16:17 debian named[1947]: loading configuration from '/etc/bind/named.conf' 
May 13 02:21:07 debian named[2078]: loading configuration: permission denied 
May 13 02:23:38 debian named[2149]: loading configuration: file not found

您还需要使用 -c 选项来指定您自己的配置文件。

sudo /usr/sbin/named -c /home/madato/dns/myconf.conf

然而,我还没有能够成功启动命名在 Debian 10 上,当 CONF 文件位于默认目录以外的任何其他目录下时/etc/bind/

似乎有一些硬编码检查只允许命名阅读conf 文件位于该特定目录中。

我建议将 myconf.conf 文件保留在 /etc/bind/ 中,然后重试。或者使用指向原始文件的软链接文件。

相关内容