J'ai un problème vraiment bizarre avec mon DNS. Mon nom de domaine ( strugee.net
) est insoluble sur certains réseaux et résoluble sur d'autres.
Par exemple, sur mon réseau domestique (même réseau que celui du serveur):
% dig strugee.net
; <<>> DiG 9.10.3-P4 <<>> strugee.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10086
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;strugee.net. IN A
;; ANSWER SECTION:
strugee.net. 1800 IN A 216.160.72.225
;; Query time: 186 msec
;; SERVER: 205.171.3.65#53(205.171.3.65)
;; WHEN: Sat Apr 16 15:42:36 PDT 2016
;; MSG SIZE rcvd: 56
Cependant, si je me connecte à un serveur que j'ai sur Digital Ocean, le domaine ne parvient pas à résoudre:
% dig strugee.net
; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> strugee.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58551
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;strugee.net. IN A
;; Query time: 110 msec
;; SERVER: 2001:4860:4860::8844#53(2001:4860:4860::8844)
;; WHEN: Sat Apr 16 18:44:25 EDT 2016
;; MSG SIZE rcvd: 40
Mais , aller directement aux serveurs de noms faisant autorité fonctionne très bien:
% dig @dns1.registrar-servers.com strugee.net
; <<>> DiG 9.9.5-9+deb8u3-Debian <<>> @dns1.registrar-servers.com strugee.net
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30856
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;strugee.net. IN A
;; ANSWER SECTION:
strugee.net. 1800 IN A 216.160.72.225
;; AUTHORITY SECTION:
strugee.net. 1800 IN NS dns3.registrar-servers.com.
strugee.net. 1800 IN NS dns4.registrar-servers.com.
strugee.net. 1800 IN NS dns2.registrar-servers.com.
strugee.net. 1800 IN NS dns1.registrar-servers.com.
strugee.net. 1800 IN NS dns5.registrar-servers.com.
;; Query time: 3 msec
;; SERVER: 216.87.155.33#53(216.87.155.33)
;; WHEN: Sat Apr 16 18:46:36 EDT 2016
;; MSG SIZE rcvd: 172
Il est assez clair qu'il y a un problème avec un grand réseau quelque part qui ne parvient pas à résoudre mon domaine, mais je n'arrive pas à comprendre où. J'ai parcouru la dig
page de manuel pour les options qui pourraient aider, mais je n'ai rien trouvé de particulièrement utile.
Je suis sur Namecheap à la fois comme registraire de domaine et hébergeur DNS. J'ai l'option DNSSEC activée. Je n'ai apporté aucune modification à mes paramètres DNS récemment.
Comment puis-je déboguer ce problème et trouver le serveur de noms incriminé?
la source
SERVFAIL
peut indiquer un problème en amont, mais cela indique toujours un paquet de réponse.strugee.net
a cinq enregistrements NS, mais aucunAAAA
enregistrement deA
collage uniquement des enregistrements de collage. Le pire, c'est que ces cinqA
enregistrements de colle ne pointent que sur deux adresses IP différentes. Cela semble être une configuration assez fragile. Même si ce n'est pas la cause première du problème, c'est quelque chose à surveiller.Réponses:
daxd5 a offert de bons conseils de départ, mais la seule vraie réponse ici est que vous devez savoir comment penser comme un serveur DNS récursif. Étant donné qu'il existe de nombreuses erreurs de configuration au niveau de la couche faisant autorité qui peuvent entraîner une incohérence
SERVFAIL
, vous avez besoin d'un professionnel DNS ou d'outils de validation en ligne.Quoi qu'il en soit, le but n'est pas de ne pas vous aider, mais je voulais m'assurer que vous comprenez qu'il n'y a pas de réponse concluante à cette question.
Dans votre cas particulier, j'ai remarqué qu'il
strugee.net
semble s'agir d'une zone signée avec DNSSEC. Cela est évident à partir de la présence duDS
et desRRSIG
enregistrements dans la chaîne de référence:Avant d'aller plus loin, nous devons vérifier si la signature est valide ou non. DNSViz est un outil fréquemment utilisé à cet effet, et il confirme qu'il y a bien des problèmes . Le rouge en colère sur l'image suggère que vous avez un problème, mais plutôt que de passer la souris sur tout, nous pouvons simplement développer les avis dans la barre latérale gauche:
Le problème est clair: la signature de votre zone a expiré et les clés doivent être rafraîchies. La raison pour laquelle vous voyez des résultats incohérents est que la validation DNSSEC n'est pas activée sur tous les serveurs récursifs. Ceux qui valident abandonnent votre domaine, et pour ceux qui ne le font pas, c'est comme d'habitude.
Edit: l'infrastructure DNS de Comcast est connue pour implémenter la validation DNSSEC, et en tant que client, je peux confirmer que je vois également un
SERVFAIL
.la source
stugee.net
dans la sortie de fouille, qui est évidemment une faute de frappe. La partie DNSSEC de cette analyse a été effectuée par rapport au nom correct.Bien que vous constatiez en effet que les serveurs de noms faisant autorité répondent correctement, vous devez suivre toute la chaîne de résolution DNS. Autrement dit, parcourez toute la hiérarchie DNS à partir des serveurs racine.
Cela vérifie essentiellement que les serveurs DNS publics fonctionnent, et vous faites la même chose que votre résolveur DNS devrait faire. Vous devriez donc obtenir les mêmes réponses que ci-dessus sur votre serveur Digital Ocean, sauf si quelque chose ne va pas avec leur résolveur DNS:
Si les deux premières requêtes échouent, c'est le DNS du côté de Digital Ocean qui échoue. Vérifiez votre
/etc/resolv.conf
et essayez d'interroger le serveur DNS secondaire. Si le secondaire fonctionne, changez simplement l'ordre des résolveurs et réessayez.la source