En raison du nombre de serveurs impliqués dans mon réseau, j'ai du mal à les garder tous organisés. Certains d'entre eux n'ont pas d'adresse IP statique, j'ai donc pensé que ce serait bien si je créais un domaine config.mydomain.com. Sur ce domaine, je pouvais stocker les enregistrements A et l'IP pour chacun des serveurs. Voici comment je l'ai configuré:
s1.config.mydomain.com. A 10.0.0.1 #ttl 60
s2.config.mydomain.com. A 10.0.0.2 #ttl 60
s3.config.mydomain.com. A 10.0.0.3 #ttl 60
# etc
Chacun de ces enregistrements a un TTL de 60, au cas où je devrais changer une IP rapidement, mais je ne veux pas nécessairement que les clients se connectent toutes les 60 secondes pour se mettre à jour. Supposons maintenant que je configure mes domaines pour les utiliser, comme ceci:
mydomain.com. CNAME s2.config.mydomain.com. #ttl 3600
mail.mydomain.com. CNAME s2.config.mydomain.com. #ttl 10800
svn.mydomain.com. CNAME ns1.config.mydomain.com. #ttl 21600
Les TTL pour le CNAMES sont plus élevés, alors disons que je vais sur mydomain.com. Il demande à mon serveur DNS l'IP de mydomain.com
, et mon serveur revient. CNAME s2.config.mydomain.com.
Ensuite, il demande à mon serveur l'IP de s2.config.mydomain.com
, et mon serveur revient 10.0.0.1
.
Serait-il en cache l' CNAME s2.config.mydomain.com
enregistrement pendant 3600 secondes et l' A 10.0.0.1
enregistrement pendant 60 secondes? Cela signifie que toutes les 60 secondes, il demandera toujours l'adresse IP à mon serveur?
Ou va-t-il mettre en cache la vue CNAME s2.config.mydomain.com
, l'obtenir A 10.0.0.1
et les mettre en cache pendant 3600 secondes.
Si c'est le premier, je devrai probablement trouver une autre façon de les gérer, alors j'espère que c'est le deuxième, mais je ne suis pas sûr. Connaissez-vous une meilleure façon de les suivre?
la source
Réponses:
Selon ce message sur la liste de diffusion ISC , CNAME et l'enregistrement vers lequel il pointe sont mis en cache par la résolution de serveurs de noms (serveurs de noms à résolution saine ), cela est fait pour permettre aux résolveurs d'être en mesure d'optimiser le processus de résolution / mise en cache côté client.
Ainsi, si le CNAME TTL est valide mais que le A vers lequel il pointe n'est pas valide, il ne fera que répéter la recherche de l'enregistrement pointé, pas le CNAME d'origine (jusqu'à ce que le CNAME TTL soit également activé).
la source
Tous vos enregistrements CNAME seront mis en cache pendant un maximum de 3600, 10800 et 21600 secondes.
Les enregistrements A sont traités indépendamment et seront interrogés à nouveau toutes les 60 secondes.
Cependant, dans le cas où le CNAME expire, l'enregistrement A doit être mis à jour en même temps.
Les enregistrements CNAME ont divers pièges expliqués dans la RFC 1912. mydomain.com. ne peut pas être un CNAME, car vous avez des enregistrements SOA et NS utilisés: c'est une délégation de com. domaine.
Votre question est ancienne. De nos jours, certains fournisseurs DNS ne suivent pas les RFC en permettant aux utilisateurs de mettre des CNAME dans la SOA (ils l'appellent des domaines APEX). Encore une fois, utilisez à vos risques et périls.
Dernier point mais non des moindres, mettre des valeurs TTL plus élevées sur vos CNAME pourrait aider lorsque vos clients demandent un enregistrement IPv6: AAAA. Au moins, le mappage CNAME restera dans le cache et seule l'adresse IP sera demandée deux fois.
En bref: mettre un TTL plus élevé sur le CNAME réduira la taille des réponses vues par vos clients. Cela devrait également aider le serveur de résolution. Cependant, le nombre de demandes par seconde devrait être à peu près le même.
la source