Voici un autre message croisé dans les logs de BIND9, généralement dans /var/log/daemon.log, /var/log/syslog ou via journalctl :
named: success resolving DOMAIN after reducing the advertised EDNS UDP packet size to 512 octets
named: success resolving DOMAIN after disabling EDNSCode language: HTTP (http)
Ce message signifie que BIND a réussi à résoudre le domaine, mais seulement après avoir réduit la taille UDP EDNS annoncée, ou après avoir désactivé EDNS pour cette requête.
Autrement dit : la résolution finit par fonctionner, mais le chemin réseau ou le serveur DNS distant ne gère pas correctement les requêtes EDNS avec une taille UDP plus grande.
À l’époque, je m’étais contenté de masquer la catégorie de logs correspondante. Aujourd’hui, je préfère commencer par comprendre le problème, puis réduire le bruit seulement si le comportement est connu et sans impact.
Comprendre EDNS et la limite historique de 512 octets
Le DNS historique sur UDP utilisait une taille de message limitée à 512 octets. EDNS, pour Extension Mechanisms for DNS, permet notamment d’annoncer une taille UDP plus grande et d’ajouter des options modernes au protocole DNS.
BIND peut donc envoyer des requêtes avec EDNS même si DNSSEC n’est pas activé. EDNS ne sert pas uniquement à DNSSEC, même si DNSSEC en dépend fortement pour transporter des réponses plus volumineuses.
Le problème apparaît lorsqu’un serveur autoritaire, un firewall, un routeur, une middlebox ou un lien réseau gère mal ces paquets UDP plus grands. BIND essaie alors une taille plus petite, parfois jusqu’à 512 octets, ou finit par désactiver EDNS pour obtenir une réponse.
L’ISC indiquait déjà que les versions supportées de BIND envoient des requêtes avec EDNS activé par défaut, et que certains équipements ou serveurs cassés peuvent provoquer ces messages de repli. Lire ISC Knowledge Base : BIND log messages about disabling EDNS.