J'ai récemment rencontré un problème lorsqu'un service distant demandant l'adresse IP de mon serveur (avec un fournisseur DNS hébergé) répondait avec:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
(Mise à jour: le service distant mentionné ici est Let's Encrypt; j'ai déposé un bogue contre leur traqueur de problème, ce qui m'a conduit sur ce chemin.)
Lors de tests sur mon réseau local, j'ai pu constater que j'obtiens parfois une réponse DNS vide du serveur DNS hébergé. Apparemment, cela est intermittent car cela ne se produit que lorsque les enregistrements DNS ne sont pas dans le cache, et ce n'est un problème que lorsque le serveur DNS est vraiment occupé.
Voici une description Wireshark d'un message de réponse vide:
Bien sûr, puisque la plupart des requêtes et des réponses DNS sont envoyées via UDP, un résolveur local attendra juste un peu la réponse, puis abandonnera. Ce que je me demande maintenant, c'est s'il existe des directives pour les temps de réponse DNS? Mon hébergeur DNS a en quelque sorte haussé les épaules et a dit que mon résolveur local avait envoyé la réponse vide trop tôt. Je n'ai jamais eu ce problème auparavant, mais je suis surpris du mode d'échec - une réponse DNS vide sans code d'erreur.
Est-ce que quelqu'un connaît certaines directives sur la façon dont cela est censé fonctionner, et quand / comment je peux prouver que mon hébergement DNS fait quelque chose de mal?
dig
/nslookup
ou une dissection de Wireshark. (tcpdump
ne sera pas assez bon) Si vous utiliseznslookup
, exécutez d'set debug
abord.