Nous avons notre domaine DNS avec 5 CNAME de niveau pour des raisons historiques. Certaines choses ont été externalisées pour une haute disponibilité, etc., mais ce n'est pas le but ici. Ma question est d'avoir 5 CNAME une exagération pour le résolveur DNS? Je n'ai pas pu trouver de site Web célèbre avec plus de 2-3 noms CNAME imbriqués pointant vers différents domaines DNS.
Nos sauts CNAME se présentent comme suit: (J'utilise xyz comme exemple)
www.xyz.com -> xyz.akadns.net -> xyz.worldwide.akadns.net -> xyz.cedexis.net -> xyz.msedge.net -> host1.msedge.net (dernier enregistrement A \ AAAA)
Je vois de nombreux clients se plaindre de problèmes de résolution DNS sur notre site Web lorsque d'autres sites fonctionnent bien pour eux, bien que lorsque j'utilise http://check-host.net/check-dns?host=www.xyz.com pour tester notre DNS résolution.
Cela semble toujours bien fonctionner dans le monde entier. Ma conclusion est que la plupart du temps, le résolveur DNS des fournisseurs de FAI locaux se trompe lorsque l'un des sauts ci-dessus ne parvient pas à résoudre. nslookup échoue sur ces ordinateurs clients uniquement pour notre site Web et trop sporadiquement.
Ce type de CNAME à plusieurs niveaux est-il une mauvaise conception en général?
la source
Réponses:
Les chaînes CNAME à CNAME ne sont pas interdites, mais comme vous le savez déjà, ce n'est pas une solution très robuste.
Chaque CNAME supplémentaire augmente la profondeur de récursivité du résolveur, et cette profondeur n'est pas toujours illimitée. Vous courez également le risque de créer des boucles ou de déclencher l'algorithme de détection de boucle.
Pour avoir une idée du nombre et des requêtes qu'un serveur de noms d'utilisateurs doit effectuer, exécutez une trace DNS:
ou sous Windows
la source
HBrujin a raison, mais en vérité, la profondeur de récursivité est bien pire que tout ce que
dig +trace
vous allez montrer. La profondeur de récursivité est quelque chose qui est souvent raillé et trop banalisé, mais ces gens oublient que vous ne résolvez pas seulement ~ 5CNAME
enregistrements. Cela est dû au fait que la résolution de la cible d'unCNAME
enregistrement crée un besoin de rechercher tous les serveurs de noms dans le chemin, ce qui est souvent beaucoup plus que ce qui apparaît à première vue.La
CNAME
cible vit-elle dans un autre domaine? Vous devrez récursivement dans ses serveurs de noms, ce qui nécessite non seulementNS
des recherches d'enregistrement mais également desA(AAA)
recherches où la colle n'est pas présente. Les serveurs de noms de ces serveurs de noms vivent-ils dans un domaine de premier niveau différent? Si ces TLD ne partagent pas les serveurs de noms, il est probable que les enregistrements de colle ne seront pas inclus et vous devez également consulter les autres serveurs de noms des TLD. Etc.Chaque
CNAME
enregistrement ajouté à la chaîne peut augmenter de façon exponentielle le nombre de recherches requises en fonction du nombre de serveurs de noms qui doivent être récursifs. Ces chaînes de recherches d'enregistrementCNAME
+NS
+A(AAA)
peuvent à leur tour devenir follement alambiquées, atteignant bien plus de 150 niveaux de profondeur sur un cache vide. C'est là que les limites de profondeur de récursivité peuvent devenir extrêmement désagréables, entraînant des échecs temporaires de recherche de votre domaine sur un cache vide, et pour des raisons qui ne sont souvent pas immédiatement apparentes.En bref, vous pouvez le faire, mais procédez avec prudence et prenez au sérieux les commentaires de cette nature. Vous n'avez aucun contrôle sur la fréquence de redémarrage ou de purge des serveurs DNS récursifs sur Internet.
la source
Les niveaux multiples
CNAME
sont souvent pratiques en pratique. Chaque niveau de redirection fournit un niveau de contrôle dans une zone administrative potentiellement distincte ou une organisation entièrement différente. Bien que ce ne soit presque pas techniquement nécessaire, il peut contourner les problèmes d' organisation .Comme d'autres l'ont noté, cela peut causer des difficultés, mais elles peuvent être résolues:
surveiller tous les serveurs DNS. Peut-être que l'un fonctionne mal. Surveillez les serveurs externes ainsi que les vôtres. Vous devrez peut-être signaler un problème à Akamai ou à d'autres fournisseurs.
TTL
Les paramètres doivent être suffisamment élevés pour permettre la mise en cache, mais suffisamment bas pour que vous puissiez déplacer le trafic assez rapidement pour votre application.la source