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

BIND рекурсивно не разрешает некоторые домены

У меня есть рекурсивная установка кэширования BIND / named, и она не хочет разрешать некоторые домены. Я вижу эти ошибки в файле журнала:

Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns0.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/AAAA'
Dec 22 11:53:02 router2.lan named[301]: SERVFAIL unexpected RCODE resolving 'www.sawmill.net/A/IN': 63.249.66.124#53
Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns0.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/A'
Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns1.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/A'
Dec 22 11:53:02 router2.lan named[301]: SERVFAIL unexpected RCODE resolving 'www.sawmill.net/AAAA/IN': 63.249.66.124#53
Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns0.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/AAAA'
Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns1.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/AAAA'

(этот домен не мой)
Google 8.8.8.8 правильно разрешает этот домен

Вот мой named.conf

options {
    directory "/var/named";
    pid-file "/run/named/named.pid";

    listen-on-v6 { any; };

    dnssec-validation auto;
    auth-nxdomain no;
    allow-query {
        any;
    };

    recursion yes;
    allow-recursion {
        any;
    };
    allow-transfer { none; };
    allow-update { none; };


    version none;
    hostname none;
    server-id none;

    max-cache-size 16M;
    max-ncache-ttl 3600;
};

И версия BIND:
BIND 9.11.0-P1

Кто-нибудь знает, почему это происходит?

Кстати, сервер защищен брандмауэром, так что разрешить рекурсию из всех источников нетрудно.

Ключ к проблеме - это два сообщения:

Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns0.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/A'
Dec 22 11:53:02 router2.lan named[301]: skipping nameserver 'ns1.flowerfire.com' because it is a CNAME, while resolving 'www.sawmill.net/A'

BIND очень строго следит за соблюдением RFC 1034 условие который NS записи «всегда должны» указывать на основное имя, а не на псевдоним. Некоторые программы-серверы имен могут решить проблему повреждения мозга, но их следует рассматривать как исключение, а не правило.

Сначала BIND будет преследовать клейкие записи, обслуживаемые net. TLD, но когда пришло время обновить NS записи, они будут удалены из кеша, когда CNAME встречается.


Кстати, эти серверы имен sawmill.net в целом ужасны. NS записи, указывающие на CNAME псевдонимы, NS записи, которые отсутствуют на клее, четыре NS записи, которые дублируют IP-адреса и на самом деле указывают только на два: один сервер имен возвращает неожиданный rcode, а смежные IP-адреса игнорируют BCP 16. Sheesh.