Como encaminhar algum subdomínio de uma zona para encaminhadores padrão

Como encaminhar algum subdomínio de uma zona para encaminhadores padrão

Quero usar o bind9 para sequestrar uma zona, por exemplo "qq.com", minha configuração de zona é

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

e meu arquivo db é

[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

Ao resolver a.qq.com, posso obter a resposta correta conforme abaixo

[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

Mas para outros domínios, como "mail.qq.com" ou "www.qq.com" (talvez haja muitos outros domínios que não conheço). Só quero encaminhar esses domínios que não sei nomear servidores configurados nos encaminhadores como 8.8.8.8 como padrão.

Mas agora, os encaminhadores na zona "qq.com" não funcionam. O bind9 suporta isso?

Responder1

Se um domínio não corresponder a nenhum registro na minha configuração, o dnsmasq poderá ler o servidor de nomes de /etc/resolv.conf como um encaminhador padrão para resolver o domínio. Então acho que o bind9 também pode suportar esse recurso.

Esse é o AFAIK, na verdade, um recurso único dodnsmasq.

Servidores DNS normais, como o ISC Bind, são recursivos ou autoritativos. Quando eles são autoritários para um (sub)domínio, eles detêm a verdade completa para esse (sub)domínio e seus dados de zona contêm todos os registros de recursos que existem para o domínio (embora NSos registros possam ser usados ​​para delegar subdomínios a outros servidores de nomes). Quando um servidor de nomes autoritativo é consultado em busca de um registro que ele não conhece e que não foi delegado, então, no que lhe diz respeito, esse registro não existe. Fim da história.

Você pode tentar delegar todos os registros inexistentes (usando um curinga DNS) criando um arquivo de zona:

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.

informação relacionada