bind 9.11 - Нужна помощь с настройкой

bind 9.11 - Нужна помощь с настройкой

Я заменяю сервер RHEL6, на котором, помимо прочего, работает bind/named, на сервер RHEL8. В рамках этого обновления версия bind обновилась с 9.8 до 9.11. Я ни в коем случае не мастер bind, но я по глупости подумал, что это должно быть простое обновление. К сожалению, я столкнулся с проблемой, которую едва понимаю, будучи лишь немного знакомым с bind. Видимо, больше нельзя иметь несколько представлений, указывающих на один и тот же доступный для записи файл? Это мешает запуску named.

Я немного погуглил и выяснил, что это действительно «правильная» реакция с момента выхода Bind 9.10, и что мне следует включить ссылки in-view, чтобы обойти это.

Вот фрагмент ошибок, которые я получаю...

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-viewопция зоны для отображения существующей зоны из одного представления в другом представлении.
Это может выглядеть примерно так (пример взят из документации):

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;
    };
};

Связанный контент