conf 上的语法和 RNDC 绑定错误

Syntax and RNDC bind errors on conf

我想做什么:

正在尝试创建将解析本地地址以及 public 地址的绑定 DNS 服务。我需要能够解析远程位置的内部本地地址。这些遥控器通过代理访问我们的网络,我正在尝试在该代理服务器上安装绑定服务器。

我正在使用 bind9,它(根据我读过的内容)可以让我使用视图通过 acl 引导 DNS 请求。

发生了什么:

我有以下配置,它报告了一些语法错误和停止 DNS 的 rndc 连接失败错误。

文件: named.conf.local

acl internals {
    x.x.x.x/8; (local)
    192.168.1.0/24;
);

// Custom Zones for SERVER
view "internal" {
    match-clients { internals; };
    zone "SERVER" {
        type master;
            file "/etc/bind/internal/db.SERVER";
    };
};

view "external" {
    match-clients { any: };
    zone "SERVER" {
        type master;
        file "/etc/bind/external/db.SERVER";
    };
};

错误: 来自系统日志

Oct 28 10:29:22 SERVER named[15228]: loading configuration from '/etc/bind/named.conf'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:7: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:7: missing ';' before '{'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:8: missing ';' before '{'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:9: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:9: missing ';' before '{'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:10: missing ';' before 'master'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:11: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:15: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:15: missing ';' before '{'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:16: missing ';' before '{'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:16: missing ';' before '}'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:17: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:17: missing ';' before '{'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:18: missing ';' before 'master'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf.local:19: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf:12: missing ';' before '"'
Oct 28 10:29:22 SERVER named[15228]: /etc/bind/named.conf:13: expected IP match list element near end of file
Oct 28 10:29:22 SERVER named[15228]: loading configuration: unexpected token
Oct 28 10:29:22 SERVER named[15228]: exiting (due to fatal error)

我需要知道的:

显然我有问题,我只需要知道我哪里搞砸了。我需要知道语法上是否有问题,或者我是否没有使用正确的工具来创建绑定服务器。

长话短说:

鉴于上述配置文件和错误,导致问题的原因是什么?

第 4 行的右括号 ')' 似乎是语法错误,应该是右大括号 '}'。

当有人发现难以理解这些无法解释的语法错误消息的确切原因时,开始截断部分输入文件(在本例中为配置文件)是一个很好的做法。这样您就可以找到引入第一个错误的点,通常这样更容易发现问题。