Comment créer un CNAME pour le nom racine d'un domaine


12

Je voudrais définir le nom racine d'un domaine sur un CNAME au lieu de l'enregistrement A habituel.

Voici un exemple parfait de ce que j'essaie de faire:

dig lrnskls.com

Remarquez la section des réponses:

;; ANSWER SECTION:

lrnskls.com.            300     IN      CNAME   partner.adjix.com.

partner.adjix.com.      300     IN      A       67.121.212.61

La raison pour laquelle j'essaie de le faire est que je puisse pointer le nom racine d'un domaine, via un alias CNAME, vers le S3 d'Amazon. L'utilisation d'un enregistrement A ne fonctionne pas car les adresses IP de S3 changent toutes les quelques minutes à des fins d'équilibrage de charge.

PS - Cela semble être légal en vertu de la section 3.6.2 de la RFC 1034 (notez l'exemple USC-ISIC.ARPA): http://www.faqs.org/rfcs/rfc1034.html


2
Bon point sur le fait qu'il semble être légal selon l'exemple de la section 3.6.2. La RFC1034 date de 1987 et doit être lue en tenant compte des besoins actuels. Certaines personnes / beaucoup de gens le considèrent comme illégal dans un contexte moderne, voir serverfault.com/questions/55528/… . Le mieux est à mon humble avis de faire preuve de prudence, c'est-à-dire de ne pas pousser le DNS en utilisant une configuration que certains serveurs DNS pourraient rejeter.
Jesper M

2
@jesper - l'exemple RFC 1034 n'est pas pertinent. Il montre un CNAME comme un enregistrement autonome. Un domaine .com délégué doit avoir un enregistrement SOA et des enregistrements NS. La configuration de lrnskls.com est techniquement invalide.
Alnitak

Vous devez corriger votre terminologie, "nom racine" n'est pas un terme courant pour ce que vous décrivez (qui semble être le nom de l'apex de votre zone).
bortzmeyer

Réponses:


14

Amazon est conscient du problème avec les domaines racine et Elastic Load Balancer. Ils recommandent cette solution:

  • Configurez le domaine racine vers un service qui redirige mydomain.com vers www.mydomain.com (ou tout autre sous-domaine de votre choix)
  • Configurez un enregistrement CNAME qui mappe le nom DNS de l'équilibreur de charge sur "www.mydomain.com".

Je n'aime pas cette solution, mais elle est plus "propre" que la solution "forcer le domaine racine vers CNAME".

MISE À JOUR: Amazon résout maintenant cela pour ELB / S3 via les enregistrements ALIAS, une fonctionnalité DNS Route53.


5
+1 pour avoir indiqué la manière conforme de procéder. Pour reformuler cette solution (voir également la réponse Amazon liée): Vous effectuez un enregistrement A valide pour le domaine racine, avec SOA valide. Cet enregistrement A pointe vers un service tiers que vous avez contracté pour envoyer des redirections HTTP de niveau 301/302 vers www.mydomain.com.
Jesper M

@JesperMortensen Pouvez-vous recommander des entrepreneurs qui effectuent de telles redirections? Il est vraiment ennuyeux que mes utilisateurs accèdent à mycompany.com et ne voient que les publicités de mon fournisseur de nom de domaine. A recordpointe vers une adresse IP et je ne vais certainement pas acheter une adresse IP statique uniquement à cette fin.
foresightyj

10

Non, ce n'est pas légal. CNAMEn'est pas autorisé à coexister avec d'autres enregistrements et vous devez au moins SOAici.

L'exemple ne prouve pas le contraire, car il n'implique pas d'y avoir d'autres enregistrements.


Donc, le vrai point de ma question est de savoir comment faire cela? Comment configurer le nom racine d'un domaine en tant que CNAME et non en tant qu'enregistrement A? L'exemple "dig lrnskls.com" fonctionne exactement comme je m'attendais à ce qu'il fonctionne. Ou est-ce que je manque quelque chose dans l'exemple de fouille?

vous pouvez le mettre exactement comme c'est fait pour lrnskls.com- il suffit de mettre un CNAMErecord là, mais il est illégal de ne pas avoir SOA;-)
Michael Krelin - hacker

Je suppose donc qu'il n'y a aucun moyen légal de faire pointer le nom racine d'un domaine vers S3 en tant que CNAME?

Il existe un moyen légal d'avoir un hôte, comme s3stuff.example.compointer légalement vers S3.
Michael Krelin - hacker le

3
En effet, la bonne solution est de ne pas déléguer example.com et de convaincre le registre .COM, Verisign, d'ajouter un CNAME dans la zone .COM ... Techniquement solide mais Verisign et l'ICANN trouveront certainement des raisons non techniques pour le refuser .
bortzmeyer

2

Mais, mon serveur DNS ne le permet pas; ni le gestionnaire DNS de GoDaddy. Je cherche donc à faire exactement ce que le propriétaire de lrnskls.com a fait. Quelqu'un sait comment il l'a fait?

Vous devrez probablement effectuer des recherches dans les serveurs DNS. La plupart des serveurs DNS ne vous permettent pas de le faire. Je pense que je me souviens avoir vu une autre question sur serverfault où quelqu'un a posté quel serveur DNS quelqu'un a utilisé pour configurer un cname à la racine, mais je ne le trouve pas.

Voir aussi: - Root Cname - WHM? - Définir l'enregistrement de domaine racine comme un CNAME


C'était 1 et 1 selon cette question serverfault.com/questions/55528/…
hdanniel

1

Si vous utilisez les serveurs DNS Route 53 d'Amazon, il obtiendra ce que vous voulez.

J'étais curieux: le no CNAME en apex est interdit par le RFC. Quelle est la raison technique de cela (en supposant que ce n'est pas arbitraire).


1
CNAME remplace tous les autres enregistrements. Par conséquent, il est impossible de construire une zone valide où le sommet a un CNAME, car il outrepasserait également le SOA.
Michael Hampton
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.