So leiten Sie eine Subdomäne einer Zone an Standardweiterleitungen weiter

So leiten Sie eine Subdomäne einer Zone an Standardweiterleitungen weiter

Ich möchte bind9 verwenden, um eine Zone zu kapern, zum Beispiel "qq.com". Meine Zonenkonfiguration ist

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

und meine DB-Datei ist

[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

Beim Auflösen von a.qq.com erhalte ich die richtige Antwort wie unten

[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

Aber für andere Domänen, wie „mail.qq.com“ oder „www.qq.com“ (vielleicht gibt es noch viele andere Domänen, die ich nicht kenne), möchte ich diese mir unbekannten Domänen einfach an in den Weiterleitungen konfigurierte Nameserver weiterleiten, beispielsweise standardmäßig 8.8.8.8.

Aber jetzt funktionieren die Weiterleitungen in der Zone „qq.com“ nicht. Unterstützt Bind9 dies?

Antwort1

Wenn eine Domäne keinem Eintrag in meiner Konfiguration entspricht, kann dnsmasq den Nameserver aus /etc/resolv.conf als Standardweiterleitung lesen, um die Domäne aufzulösen. Ich gehe also davon aus, dass bind9 diese Funktion auch unterstützen kann.

Das ist meines Wissens nach tatsächlich ein Alleinstellungsmerkmal vonDNS-MASQ.

Normale DNS-Server wie ISC Bind sind entweder rekursiv oder autoritativ. Wenn sie für eine (Sub-)Domäne autoritativ sind, besitzen sie die vollständige Wahrheit für diese (Sub-)Domäne und ihre Zonendaten enthalten alle Ressourceneinträge, die für die Domäne existieren (obwohl NSEinträge verwendet werden können, um Subdomänen an andere Nameserver zu delegieren). Wenn ein autoritativer Nameserver nach einem Eintrag abgefragt wird, den er nicht kennt und der nicht delegiert ist, dann existiert dieser Eintrag für ihn nicht. Ende der Geschichte.

Sie könnten versuchen, alle nicht vorhandenen Einträge (mithilfe eines DNS-Platzhalters) zu delegieren. Dies funktioniert durch die Erstellung einer Zonendatei:

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.

verwandte Informationen