Bind9 : managed-keys-zone: Unable to fetch DNSKEY set '.': timed out

Tags: #<Tag:0x00007f74f53fbf30>

Bonjour,

J’ai un soucis avec la configuration de mon serveur DNS (résolveur publique) en ce moment.
Je précise qu’il fonctionne bien, mais j’ai une erreur dans les logs, quelques secondes après le démarrage de bind :

managed-keys-zone: Unable to fetch DNSKEY set '.': timed out

Je suis sous Debian 11 avec BIND 9.16.50-Debian (Extended Support Version).

Voilà les petites choses que j’ai essayé :

  • J’ai mis à jour mon fichier db.root depuis https://www.internic.net/domain/named.root
  • J’ai supprimé les clés mis en cache (les fichiers contiennent bien des KEYDATA à jour) : rm /var/cache/bind/managed-keys.bind*
  • netstat -tulpnW | grep 53 / ss -ntlp | grep :53 : je n’ai que named.
  • telnet -4 127.0.0.1 53 : se connecte bien au serveur.
  • dig +dnssec . DNSKEY @127.0.0.1 : flag qr rd ra ad, et réponses conforme.
  • dig +dnssec . DNSKEY @a.root-servers.net : flag qr aa rd, et réponses conforme.
  • Tout est ok au niveau d’iptable.

Mon fichier /etc/bind/named.conf :

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
key rndc-key {
	algorithm hmac-sha256;
	secret "secret-key";
};
controls {
	inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};

Mon fichier /etc/bind/named.conf.options :

acl "trusted" {
	localhost;
	ip-ns-master;
	ip-ns-slave;
};
options {
	directory "/var/cache/bind";
	listen-on { 127.0.0.1; ip-ns-master; };
	listen-on-v6 { none; };
	version none;
	auth-nxdomain no;
	dnssec-validation auto;
	managed-keys-directory "/var/cache/bind";
	allow-query { any; };
	allow-recursion { trusted; };
	allow-query-cache { trusted; };
	allow-transfer { trusted; };
};

Mon fichier /etc/bind/named.conf.local (exemple de zone) :

zone "domain.com" {
	type master;
	notify yes;
	allow-transfer { ip-ns-slave; };
	dnssec-policy none;
	file "/var/lib/bind/domain.com.hosts";
};

Mon fichier /etc/bind/named.conf.default-zones

zone "." {
	type hint;
	file "/etc/bind/db.root";
};
... +local

Mon fichier rndc.conf :

key "rndc-key" {
	algorithm hmac-sha256;
	secret "secret-key";
};
options {
	default-key "rndc-key";
	default-server 127.0.0.1;
	default-port 953;
};

Mon fichier /etc/resolv.conf :

domain datacenter-domain
search datacenter-domain
nameserver 127.0.0.1
nameserver datacenter-nameserver-1-ip
nameserver datacenter-nameserver-2-ip

Si vous avez des idées pour résoudre ce problème, je vous en serais très reconnaissant.

Salut,

Je ne peut pas répondre à votre problème ; désolé.

Je voulais partager ceci : options edns0 trust-ad dans le fichier /etc/resolv.conf

/etc/resolv.conf

trust-ad (depuis la glibc 2.31)

Définition de RES_TRUSTAD dans _res.options . Cette option contrôle le comportement du bit AD (authenticated data) du « stub resolver ». Si un résolveur de validation définit un bit AD dans une réponse, il indique que les données dans cette réponse ont été vérifiées selon le protocole DNSSEC. Pour pouvoir se fier au bit AD, le système local doit faire confiance à la fois au résolveur de validation DNSSEC et au chemin réseau vers celui-ci, ce qui est la raison pour laquelle une option d’inclusion explicite est nécessaire. Si l’option trust-ad est active, le « stub resolver » définit le bit AD dans les requêtes DNS sortantes (pour activer la prise en charge du bit AD) et préserve le bit AD dans les réponses. Sans cette option, le bit AD n’est pas défini dans les requêtes et est toujours supprimé des réponses avant qu’elles ne soient renvoyées à l’application. Cela signifie que les applications peuvent faire confiance au bit AD dans les réponses si l’option trust-ad a été définie correctement.

Dans la glibc 2.30 et ses versions précédentes, le bit AD n’est pas défini automatiquement dans les requêtes et est répercuté inchangé aux applications dans les réponses.

Romain.

Salut,

Ci-dessous Délégation de « nom de domaine » RienÀVoir :

J’ai ouvert sur mon site web cette intro sur l’Orientation à prendre pour NSEC3 dans DNSSec et l’automatisation pour les zones enfants délégués pour zone de confiance DNSSEC avec CDS et CDNSKEY (Page Translate).
Modifier les enregistrements de signature de délégation (DS) d’une zone enfant en fonction du signataire de délégation enfant (CDS) et de la clé de serveur de noms de domaine enfant (CDNSKEY) et créer les RR (Ressource Records) CDNSKEY / CDS.

:sunglasses: