BIND ne répond pas avec autorité

Oct 01 2020

Je souhaite utiliser BIND comme serveur de noms public pour les domaines des entreprises. J'utilise une nouvelle installation du serveur ubuntu 20.04.1 et BIND 9.16.1. Le problème est que BIND ne répond jamais avec autorité. Je peux voir cela en utilisant dig. Pour localiser le problème, je l'ai essayé avec une zone unique et minimale "example.com" mais sans succès. Le fichier de zone est db.example.com:

example.com.        86400    IN    SOA    ns1.example.com.    hostmaster.example.com. (
                                      1     ; Serial
                                      900   ; Refresh
                                      300   ; Retry
                                      86400 ; Expire
                                      600 )  ; Negative Cache TTL
example.com.        86400    IN    NS    ns1.example.com.
example.com.        86400    IN    MX    10 mail.example.com.
ns1.example.com.    86400    IN    A     123.123.123.123
mail.example.com.   86400    IN    A     125.125.125.125

Bien entendu, les adresses IP ci-dessus ne sont pas les vraies adresses IP, mais l'adresse IP de ns1.example.com est l'adresse IP publique du système sur lequel BIND s'exécute. named-checkzone en est satisfait. Dans named.conf.local, seules les lignes suivantes sont ajoutées:

zone "example.com" {
    type master;
    file "/var/lib/bind/db.example.com";
};

named.conf.options:

options {
    directory "/var/cache/bind";
    dnssec-validation auto;
    auth-nxdomain no;
    listen-on { any; };
    listen-on-v6 { any; };
    recursion no;
};

En utilisant dig avec ANY, je peux voir tous les enregistrements dans le fichier de zone mais BIND répond toujours AUTHORITY: 0 . De plus, les enregistrements A n'apparaissent pas dans la section réponse mais dans la section supplémentaire. Malheureusement, je ne suis pas autorisé à publier la sortie originale de dig car cela ressemble à du spam. La zone est configurée comme maître et l'enregistrement NS pointe vers l'adresse IP du serveur sur lequel BIND s'exécute. Une autre pensée était que BIND peut essayer d'interroger "example.com" depuis root et sait que ce n'est pas vraiment le serveur de noms faisant autorité. J'ai donc également essayé la même chose avec le domaine "example.invalid" qui ne devrait vraiment exister nulle part. Le résultat était le même que pour "example.com". Je n'ai jamais eu ce problème auparavant. Que puis-je essayer de résoudre ce problème?

Réponses

1 user1686 Oct 01 2020 at 23:00

BIND répond toujours AUTHORITY: 0.

C'est normal et cela ne signifie pas que la réponse ne faisait pas autorité. Bien au contraire, cette section est censée contenir des enregistrements qui indiquent au client que l’autorité est ailleurs - par exemple, si vous interrogez un serveur de noms hébergeant la comzone parente ou même la zone racine, vous obtiendrez une réponse «référence» qui contient Enregistrements NS dans cette section.

Autant que je sache, une réponse faisant autorité réelle ne devrait jamais contenir aucun enregistrement dans cette section.

Donc, en d'autres termes, vous regardez la mauvaise partie de la sortie de dig. Pour savoir si une réponse faisait autorité ou non, regardez la section «indicateurs» - l' aaindicateur ( Réponse faisant autorité ) est l'indicateur.

De plus, les enregistrements A n'apparaissent pas dans la section réponse mais dans la section supplémentaire

C'est aussi normal. Ils n'apparaîtront pas dans la section des réponses car votre example.comdomaine ne possède aucun enregistrement A.

Cependant, il a certains types d'enregistrement (NS et MX) qui font référence à un autre nom de domaine qui a des enregistrements A. Normalement, une deuxième requête serait nécessaire pour les résoudre en adresses réelles, mais le serveur DNS peut éventuellement inclure ces enregistrements A / AAAA dans la section Supplémentaire.

Ainsi, lorsque vous interrogez dig example.com MX, la section Réponse contiendra les enregistrements MX pour example.com (c'est-à-dire exactement ce que vous avez interrogé), et la section supplémentaire contiendra les enregistrements A / AAAA pour mail.example.com (que vous n'avez pas interrogés , mais le serveur les a inclus pour accélérer les choses).