Назад | Перейти на главную страницу

Проблемы с добавлением поддомена DNS с помощью Bind9.9, с NS в поддомене

У меня была установка с использованием более старой Bind, которая больше не работает, как только я начал использовать Bind9.9 ... named.conf все тот же, с активной рекурсией, а зона, которую я использую, не имеет пересылки. Однако я получаю сообщение об ошибке, что для NS отсутствует связующая запись, хотя она есть ... это то, чего не разрешает новый Bind; т.е. наличие NS в самом субдомене?

В старом Bind я использовал Red Hat, теперь использую CentOS7.

Вот файл зоны:

$TTL 86400

rd2t9g9.redes.intranet. IN SOA  pc9-1-v1-9 root (

                                        42      ; serial
                                        3H      ; refresh
                                        15M     ; retry
                                        1W      ; expire
                                        1D )    ; minimum
                        IN NS pc9-1-v1-9

pc9-1-v1-9              IN A 192.168.99.11

pc9-1-v2-9              IN A 192.168.99.12

area1                   IN NS pc9-2-v2-9.area1

area1                   IN NS duplicate

duplicate               IN A 192.168.99.23

pc9-2-v2-9.area1        IN A 192.168.99.22

При запуске checkzone я получаю сообщение

zone rd2t9g9.redes.intranet/IN: area1.rd2t9g9.redes.intranet/NS 'pc9-2-v2-9.area1.rd2t9g9.redes.intranet' (out of zone) has no addresses records (A or AAAA)
zone rd2t9g9.redes.intranet/IN: loaded serial 42
OK

Файл точно такой же, как и при запуске старого Bind; он будет работать, если NS находится в домене (т.е. дублировать), но не позволит мне иметь NS в поддомене (но раньше!)

Любые идеи?

Также добавим файл named.conf:

options {

    listen-on port 53 { 127.0.0.1; };

    listen-on-v6 port 53 { ::1; };

    directory   "/var/named";

    dump-file   "/var/named/data/cache_dump.db";

    statistics-file "/var/named/data/named_stats.txt";

    memstatistics-file "/var/named/data/named_mem_stats.txt";

    allow-query     { localhost; };

    recursion yes;

    dnssec-enable no;
    dnssec-validation no;
    dnssec-lookaside auto;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {

    type hint;

    file "named.ca";

};

zone "rd2t9g9.redes.intranet" IN {

    type master;

    file "zone_A";

    allow-update { none; };

    forwarders { };
};

zone "99.168.192.in-addr.arpa" IN {

    type master;

    file "rev_zone";

    allow-update { none; };

};


include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

Вы пытаетесь использовать элементы area1.rd2t9g9.redes.intranet внутри rd2t9g9.redes.intranet.

Это ведет к named-checkzone жалуется, что есть элементы вне зоны, потому что сервер, на котором поддомен area1.rd2t9g9.redes.intranet, вероятно, еще не существует, и как таковой named-checkzone не может разрешить имена. Предупреждение исчезнет после правильной настройки поддоменов.

Конфигурация, которая у вас есть, должна работать, однако, поскольку известно, что более поздние версии BIND будут более строгими, я не могу поручиться за это. Один из способов избежать предупреждения - это удалить ".area1" и настроить таким образом для ваших целей.

$TTL 86400
@                       IN SOA  pc9-1-v1-9 root.localhost. (
                                    42      ; serial
                                    3H      ; refresh
                                    15M     ; retry
                                    1W      ; expire
                                    1D )    ; minimum

                        IN NS pc9-1-v1-9

pc9-1-v1-9              IN A 192.168.99.11
pc9-1-v2-9              IN A 192.168.99.12
area1                   IN NS pc9-2-v2-9
area1                   IN NS duplicate
duplicate               IN A 192.168.99.23
pc9-2-v2-9              IN A 192.168.99.22

Я также предпочитаю аббревиатуру @ вместо того, чтобы снова записывать зону, поскольку это сокращает количество ошибок при работе с несколькими зонами.

Я также изменил корень в SOA с root на root.localhost, поскольку RFC указывает, что это электронное письмо с "." собирается "@". Вы можете использовать свой собственный адрес электронной почты вместо root @ localhost.

Имейте в виду, что в BIND 9.9 есть несколько новых изменений, и одно, которое, вероятно, будет иметь значение в лабораторных условиях, состоит в том, что новые подчиненные файлы теперь находятся в необработанном / двоичном формате из соображений производительности. Если это необходимо в образовательных целях, BIND 9.9 можно настроить так, чтобы они оставались в текстовом формате.

Ничего не изменилось в том, что разрешено в этом отношении. Возможно named-checkzone имеет больше проверки, в зависимости от того, с какой более старой версией вы его сравниваете, или среда, в которой вы его запускаете, настроена по-другому.


Как название, что это NS точки записи находятся вне зоны, которую вы проверяете, named-checkzone ищет имя в DNS (используя настроенный в системе сервер распознавания).

Делает pc9-2-v2-9.area1.rd2t9g9.redes.intranet иметь адресную запись, если вы попытаетесь найти ее на том же хосте, где вы запускаете named-checkzone?

Т.е., делает dig pc9-2-v2-9.area1.rd2t9g9.redes.intranet A и / или dig pc9-2-v2-9.area1.rd2t9g9.redes.intranet AAAA дать положительный ответ?
Если нет, ожидается предупреждающее сообщение.

Если ты по какой-то причине не хочешь named-checkzone чтобы выполнить этот тип проверки (вы, вероятно, делаете, это настоящая проблема, если эти записи адреса отсутствуют на авторитетной стороне), существует -i вариант который можно использовать для указания другого режима проверки (например, -i local).