Невозможно выполнить NS-запросы к bind с конфигурацией catchall

Невозможно выполнить NS-запросы к bind с конфигурацией catchall

Я настроил bind так, чтобы он захватывал все домены и возвращал для них тот же IP (запись A). Это для службы парковки доменов, где могут быть задействованы тысячи доменов.

После указания серверов имен для example.com на мои серверы имен я корректно получаю страницу припаркованного хостинга.

Единственная проблема в том, что поиск по серверам имен не работает. Если я dig NS example.comпросто получаю данные SOA вместо имен NS. Хотя dig example.comвозвращает правильную запись A.

Я потратил часы, пробуя разные варианты, и был бы очень признателен за помощь в этом вопросе.

Конфигурация для него:

named.conf.local:

zone "." {
    type master;
    file "/etc/bind/zones/db.catchall";
};

db.catchall:

$TTL    604800
@   IN  SOA ns1.mynameserver.com. hostmaster.mynameserver.com. (
             26     ; Serial
         604800     ; Refresh
          86400     ; Retry
        2419200     ; Expire
         604800 )   ; Negative Cache TTL

    IN  NS  ip.addr.for.ns1
    IN  NS  ip.addr.for.ns2 

*   IN  A   ip.addr.for.hosting

решение1

Наблюдаемое поведение ожидаемо и правильно для того, что вы настроили.
То есть, у вас есть сервер имен, который заявляет, что является полномочным для корневой зоны, и у которого есть подстановочная Aзапись, которая будет соответствовать всему ниже. У него нет NSзаписей, отличных от корневой зоны.

Однако то, что вы настроили, на самом деле не является правильным для сервера, который должен быть полномочным для множества различных зон. Если example.comделегируется вашему серверу имен, ваш сервер имен должен иметь эту конкретную зону (по крайней мере SOAи NSна вершине зоны), а не только некоторую родительскую зону (например, .).
Неправильными в этой конфигурации будут ответы на запросы для NS(т. е. будет утверждаться, что нет серверов имен для example.com), а также все отрицательные ответы (отрицательные ответы будут SOAдля неправильной зоны).

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

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