Как переслать некоторые поддомены зоны на серверы пересылки по умолчанию

Как переслать некоторые поддомены зоны на серверы пересылки по умолчанию

Я хочу использовать bind9 для перехвата зоны, например "qq.com", моя конфигурация зоны такая

zone "qq.com" IN {
  type master;
  file "db.qq.com";
  forwarders { 119.29.29.29; 8.8.8.8; };
};

и мой файл базы данных

[root@cenotstest named]# cat db.qq.com
$TTL 1800
@           IN  SOA ns1.qq.com.  my.example.com. (
                    20210409 ;
                    3H ;
                    15M ;
                    1W ;
                    1D ) ;
            IN  NS  ns1.qq.com.
ns1             IN      A       183.36.112.46

a   IN   A  1.1.1.1

При разрешении a.qq.com я могу получить правильный ответ, как показано ниже

[root@cenotstest named]# nslookup a.qq.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   a.qq.com
Address: 1.1.1.1

Но для других доменов, таких как «mail.qq.com» или «www.qq.com» (возможно, есть много других доменов, о которых я не знаю). Я просто хочу пересылать эти неизвестные мне домены на серверы имен, настроенные в пересылке, например, 8.8.8.8 по умолчанию.

Но теперь переадресация в зоне "qq.com" не работает. Поддерживает ли это bind9?

решение1

Если домен не соответствует ни одной записи в моей конфигурации, dnsmasq может прочитать nameserver из /etc/resolv.conf как пересылающий сервер по умолчанию для разрешения домена. Так что я думаю, что bind9 также может поддерживать эту функцию.

Насколько мне известно, это на самом деле уникальная особенностьdnsmasq.

Обычные DNS-серверы, такие как ISC Bind, являются либо рекурсивными, либо авторитетными. Когда они авторитетны для (под-)домена, они содержат полную правду для этого (под-)домена, и их данные зоны содержат все записи ресурсов, которые существуют для домена (хотя NSзаписи могут использоваться для делегирования поддоменов другим серверам имен). Когда авторитетный сервер имен запрашивается на запись, о которой он не знает и которая не делегирована, то, насколько это касается его, эта запись не существует. Конец истории.

Вы можете попробовать делегировать все несуществующие записи (используя подстановочный знак DNS), создав файл зоны:

db.qq.com
$TTL 1800
@           IN  SOA ns1.qq.com.  my.example.com. (
                    20210409 ;
                    3H ;
                    15M ;
                    1W ;
                    1D ) ;
            IN  NS  ns1.qq.com.
ns1             IN      A       183.36.112.46

a   IN   A  1.1.1.1

the.original.authoritative.nameserver.for.qq.com. IN A 10.9.8.7 
*   IN NS the.original.authoritative.nameserver.for.qq.com.

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