Selon le rfc2308#section-7.1
de 1998-03, si la résolution n'est pas réussie et se traduit par un SERVFAIL
(par exemple, à cause d'un délai d'attente), alors cela PEUT être mis en cache, mais dans ce cas, il NE DOIT PAS être mis en cache pendant plus de 5 minutes.
En pratique, il semble souvent ne pas être mis en cache du tout, ou, s'il est mis en cache, l'est pour une durée purement symbolique, comme une seconde seulement.
-
Avant BIND 9.9.6-S1 (publié en 2014), apparemment, le SERVFAIL
n'était pas mis en cache du tout.
Cela a été introduit avec le commit a878301
(2014-09-04).
Par exemple, au moment de cette question et dans toutes les versions de BIND publiées avant 2014, le résolveur récursif BIND NE METTAIT PAS le SERVFAIL
en cache, si l'on croit le commit ci-dessus et la documentation sur la première introduction dans 9.9.6-S1.
-
Dans la dernière version de BIND, le réglage par défaut de servfail-ttl
a été défini à 1s
depuis 2015 (en 2016), et a été codé en dur avec un plafond de 30s
(au lieu du plafond de 300s
imposé par la RFC).
Voir commit 90174e6
(2015-10-17).
En 2014/2015, la durée par défaut était de 10s
, et le plafond était de 300s
, mais, selon les citations ci-dessous, les chiffres plus élevés étaient jugés excessivement pessimistes.
Références notables (avec les citations respectives) incluent:
En résumé, il est improbable que le SERVFAIL
soit mis en cache, mais même s'il l'est, ce sera pour un nombre de secondes à peine en double ou en chiffre unique.