Mon registraire de domaine et fournisseur DNS ignore actuellement les demandes DNS vers des domaines inconnus. Par ignorer, je veux dire les trous noirs et ne répond jamais, ce qui fait que mes clients DNS et les bibliothèques de résolveurs réessayent, s'arrêtent et finalement expirent.
dig @NS3.DNSOWL.COM somedomainthatdoesntexist.org
...
;; connection timed out; no servers could be reached
En examinant d'autres services de noms de domaine populaires, je constate que ce comportement est assez unique car les autres fournisseurs renvoient un RCODE de 5 (REFUSÉ):
dig @DNS1.NAME-SERVICES.COM somedomainthatdoesntexist.org
dig @NS-284.AWSDNS-35.COM somedomainthatdoesntexist.org
dig @NS21.DOMAINCONTROL.COM somedomainthatdoesntexist.org
Tous renvoient quelque chose comme ceci:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 64732
ou
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 31219
Le retour REFUSED
ou NXDOMAIN
immédiatement est approprié à mon humble avis plutôt que de simplement déposer la demande sur le sol de la salle des serveurs.
Lorsque je me plains à mon fournisseur de ne pas répondre à leurs serveurs, ils me demandent de citer le RFC que leurs serveurs violent. Je sais que c'est étrange qu'ils me demandent de prouver que leurs serveurs doivent répondre à toutes les demandes, mais tant pis.
Questions :
- Je stipule qu'à moins qu'il n'y ait des ID de demande en double ou une sorte de réponse DOS, un serveur devrait toujours répondre à la demande. Est-ce correct?
- Quel RFC et section spécifique dois-je citer pour soutenir ma stipulation?
Pour moi, c'est mauvais de ne pas répondre à une requête DNS. La plupart des clients font marche arrière puis retransmettent la même requête au même serveur DNS ou à un autre serveur. Non seulement ils ralentissent les clients, mais ils entraînent à nouveau la même requête par leurs propres serveurs ou d'autres en fonction des serveurs de noms faisant autorité et des entrées NS.
Dans RFC 1536 et 2308, je vois beaucoup d'informations sur la mise en cache négative pour des raisons de performances et pour arrêter la retransmission de la même requête. En 4074, je vois des informations sur le retour d'une réponse vide avec un RCODE de 0 afin que le client sache qu'il n'y a pas d'informations ipv6 qui devraient obliger le client à poser des questions sur un RR qui est un autre exemple de réponse vide.
Mais je ne trouve pas de RFC qui dit qu'un serveur DNS doit répondre à une demande, probablement parce que c'est implicite.
Le problème spécifique se produit lorsque je migre mon domaine (et les enregistrements DNS associés) vers leurs serveurs ou les X premières minutes après avoir enregistré un nouveau domaine avec leur service. Il y a un décalage entre le moment où les serveurs de noms faisant autorité changent (ce qui est sacrément rapide ces jours-ci) et leurs serveurs commencent à servir mes enregistrements DNS. Pendant ce laps de temps, les clients DNS pensent que leurs serveurs font autorité mais ils ne répondent jamais à une demande - même avec un REFUSED
. Je comprends le décalage qui est correct mais je ne suis pas d'accord avec la décision de ne pas répondre aux requêtes DNS. Pour mémoire, je comprends comment contourner ces limitations dans leur système, mais je travaille toujours avec eux pour améliorer leurs services afin qu'ils soient plus conformes au protocole DNS.
Merci pour l'aide.
Éditer:
Quelques mois après avoir publié ceci et suivi avec mon fournisseur, ils ont changé leurs serveurs pour revenir NXDOMAIN
pour des domaines inconnus.