bind 9.11 - 需要配置方面的帮助

bind 9.11 - 需要配置方面的帮助

我正在用 RHEL8 服务器替换运行 bind/named 等服务的 RHEL6 服务器。作为此过程的一部分,bind 版本从 9.8 更新到 9.11。我根本不是 bind 专家,但我愚蠢地认为这应该是一个简单的更新。不幸的是,我遇到了一个我几乎不理解的问题,因为我对 bind 只是略知一二。显然您不能再有多个视图指向同一个可写文件了?它阻止了 named 启动。

我进行了一些谷歌搜索,发现这确实是自 bind 9.10 以来的“正确”反应,并且我应该结合视图内的引用来解决这个问题。

这是我收到的错误片段...

Dec 03 16:45:51 server-1a bash[97204]: /etc/named/slave.zones:4: writeable file 'data/test.exampledomain.com.zone': already in use: /etc/named/slave.zones:4
Dec 03 16:45:51 server-1a bash[97204]: /etc/named/slave.zones:10: writeable file 'data/test2.exampledomain.com.zone': already in use: /etc/named/slave.zones:10
Dec 03 16:45:51 server-1a bash[97204]: /etc/named/slave.zones:16: writeable file 'data/test3.exampledomain.com.zone': already in use: /etc/named/slave.zones:16

我希望有人有能力并且愿意帮助我适当地更新我的配置,因为我迷路了。

这是我认为需要更新的 named.conf 文件的(匿名)部分。您觉得如何?


view "localhost_resolver" {
    match-clients { localhost; };
    allow-query { localhost; };
    allow-recursion { localhost; };
    recursion yes;
    include "/etc/named/root.hints";
    include "/etc/named.rfc1912.zones";
        include "/etc/named/slave.zones";
        include "/etc/named/forwarder.zones";

};

view "abc_clients" {
  response-policy { zone "abc"; };
  match-clients { 1.2.3.4/24; };
  allow-query { 1.2.3.4/24; };
  allow-recursion { 1.2.3.4/24; };
  recursion yes;
  include "/etc/named/abc.conf.local";
  include "/etc/named/root.hints";
  include "/etc/named/slave.zones";
};
view "trusted_resolver" {
    match-clients { 1.9.0.0/21;1.8.0.0/21;1.7.0.0/24;1.6.0.0/21; };
    allow-query { trusted; };
    allow-transfer { "none"; };
    allow-recursion { trusted; };
        recursion yes;
        include "/etc/named/root.hints";
        include "/etc/named/slave.zones";
        include "/etc/named/forwarder.zones";
};
view "default" {
       match-clients { any; };
    allow-transfer { "none"; };
       recursion no;
};

答案1

您有在多个视图中使用相同支持区域文件的从属区域,这是不允许的,因为匹配的从属区域定义将分别传输区域并将内容写入同一个文件(这并不安全)。

你可以做的是使用in-viewzone 选项用于将一个视图中的现有区域显示到另一个视图中。
它看起来可能像这样(示例取自文档):

view internal {
    match-clients { 10/8; };

    zone example.com {
        type master;
        file "example-external.db";
    };
};

view external {
    match-clients { any; };

    zone example.com {
        in-view internal;
    };
};

相关内容