BIND ne répond pas avec autorité
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
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).