Les enregistrements CNAME entraînent-ils une deuxième recherche DNS?


19

Disons que nous avons un sous-domaine appelé www.foo.com qui a un enregistrement CNAME pointant vers foo.bar.cc. Foo.bar.cc a à son tour un enregistrement A pointant vers l'adresse IP 1.2.3.4.

Maintenant, si je fais une recherche DNS de www.foo.com, j'obtiendrai une réponse ressemblant à ceci:

www.foo.com. IN CNAME foo.bar.cc.
foo.bar.cc. IN A 1.2.3.4

Ma question est, à quel stade foo.bar.cc est-il résolu? Est-ce fait par le serveur DNS récursif avant que la réponse ne soit renvoyée au client? Ou le client envoie-t-il une deuxième demande au serveur DNS, cette fois pour foo.bar.cc? Ou cela dépend-il si le serveur DNS a déjà une entrée en cache pour foo.bar.cc?

Je demande parce qu'un serveur DNS récursif particulier ne renvoie que la première ligne, c'est-à-dire qu'il ne résout pas le CNAME. Cependant, après peut-être 20 secondes, les demandes suivantes pour le même hôte incluront alors les deux lignes.

Réponses:


16

Les 2 enregistrements sont retournés ensemble dans la même demande. Vous pouvez le découvrir via la commande suivante

dig +trace www.foo.com

Par exemple, mon domaine photoblog.com a un cname pour www, donc les 2 dernières demandes du serveur de noms de photoblog me ressemblent

photoblog.com.      172800  IN  NS  ns1.photoblog.com.
photoblog.com.      172800  IN  NS  ns2.photoblog.com.
;; Received 103 bytes from 192.43.172.30#53(i.gtld-servers.net) in 196 ms

www.photoblog.com.  600 IN  CNAME   photoblog.com.
photoblog.com.      600 IN  A   74.52.128.18
photoblog.com.      60  IN  NS  ns2.photoblog.com.
photoblog.com.      60  IN  NS  ns1.photoblog.com.
;; Received 133 bytes from 74.52.128.18#53(ns2.photoblog.com) in 59 ms

Comme vous pouvez le voir, la demande demande à ns1 / ns2 quelle est l'ip de www.photoblog.com et elle renvoie bien c'est un nom de cp à photoblog.com et voici l'ip de cet enregistrement A.


Dans les PO de votre exemple où il n'a rendu que le CNAME, le serveur DNS a probablement eu des difficultés à suivre le CNAME et a donc donné au client toutes les informations dont il disposait. Finalement, il a fini de suivre le CNAME et a donc pu donner une réponse complète.
David Schwartz

Oui - si le serveur DNS a plus d'informations, il les renverra dans la ADDITIONALsection de la réponse. Les occasions où il ne le renvoie pas signifient que le récursif ne l'avait pas dans son cache - potentiellement parce que CNAMEet l' Aenregistrement qu'il pointe pour avoir différents serveurs faisant autorité (donc la demande initiale du récursif n'a pas reçu la réponse CNAMEsupplémentaire plus A, juste le CNAME).
Shane Madden

@Mike: alors quelle est la conclusion? Les enregistrements CNAME entraînent-ils ou non une deuxième recherche DNS? Sinon, pourquoi beaucoup suggèrent d'augmenter le TTL d'enregistrement CNAME?
Marco Demaio

10
tant que l'enregistrement A est sur le même serveur faisant autorité que le CNAME, c'est la même recherche
Mike
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.