Cómo reenviar algún subdominio de una zona a reenviadores predeterminados

Cómo reenviar algún subdominio de una zona a reenviadores predeterminados

Quiero usar bind9 para secuestrar una zona, por ejemplo "qq.com", la configuración de mi zona es

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

y mi archivo db es

[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

Al resolver a.qq.com, puedo obtener la respuesta correcta como se muestra a continuación

[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

Pero para otros dominios, como "mail.qq.com" o "www.qq.com" (tal vez haya muchos otros dominios que no conozco). Sólo quiero reenviar estos dominios que no sé nombrar. servidores configurados en los reenviadores como 8.8.8.8 por defecto.

Pero ahora, los reenviadores en la zona "qq.com" no funcionan. ¿Lo admite bind9?

Respuesta1

Si un dominio no coincide con ningún registro en mi configuración, dnsmasq puede leer el servidor de nombres desde /etc/resolv.conf como reenviador predeterminado para resolver el dominio. Entonces supongo que bind9 también puede admitir esta función.

Esa es AFAIK en realidad una característica única dednsmasq.

Los servidores DNS normales, como ISC Bind, son recursivos o autoritativos. Cuando tienen autoridad para un (sub)dominio, tienen toda la verdad para ese (sub)dominio y sus datos de zona contienen todos los registros de recursos que existen para el dominio (aunque NSlos registros se pueden usar para delegar subdominios a otros). servidores de nombres). Cuando se consulta a un servidor de nombres autorizado por un registro que no conoce y que no está delegado, en lo que a él respecta, ese registro no existe. Fin de la historia.

Podría intentar delegar todos los registros no existentes (usando un comodín DNS) creando un archivo 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.

información relacionada