DNS utilisant CNAME rompt des enregistrements MX?

42

Nous essayons de transférer tous les sites Web que nous hébergeons vers le CNAMES, car nous prévoyons de changer de serveur au cours de la nouvelle année. Nous aimerions pouvoir transférer certains clients sur un serveur et d'autres clients ailleurs. Nous avions prévu de donner à nos clients un CNAME unique, que nous pourrons ensuite modifier ultérieurement. (Nous avons d'autres raisons pour le faire maintenant mais c'est la principale)

Nous avons testé cette théorie avec quelques-uns de nos propres domaines et cela semblait aller. Cependant, lors de la vérification des enregistrements MX sur un domaine, j'ai récupéré la valeur CNAME plutôt que l'enregistrement MX.

Malheureusement, tous ces domaines sont définis via des panneaux de configuration, mais j'imagine qu'ils ne font qu'écrire des fichiers de zone pour moi.

Je veux créer 2 CNAME pour le company.com

company.com. IN CNAME client.dns.ourserver.com
www          IN CNAME client.dns.ourserver.com

L’enregistrement MX ressemble à ce qui suit:

company.com  IN MX 10 mail.company.com

Nous avons un enregistrement A pour mail.company.com

Faire:

host -t mx company.com

Renvoie la valeur CNAME plutôt que l'enregistrement mx.

Est-ce comportement attendu?

J'ai réussi à faire en sorte que la configuration ci-dessus fonctionne avec le panneau de configuration 123-reg.co.uk, mais je ne suis pas sûr que ce soit plus de la chance qu'autre chose.

johnwards
la source
Ceci est une question commune et a été posée à plusieurs reprises auparavant. Voir ce lien pour un exemple: serverfault.com/questions/18000/…
Russell Heilling
J'ai passé un peu de temps à chercher une réponse, mais je ne savais pas si je faisais quelque chose de différent. Surtout que cela fonctionne bien avec un fournisseur de domaine. J'ai ma réponse, donc c'est cool et j'espère que cela sera utile à quelqu'un.
johnwards

Réponses:

54

C'est une erreur commune. Vous ne pouvez pas utiliser un RR CNAME pour votre domaine racine (par exemple, société.com) et définir des enregistrements de ressources supplémentaires pour la même zone.

Voir Pourquoi ne puis-je pas créer un enregistrement CNAME pour l'enregistrement racine? et RFC1034 section 3.6.2 pour plus de détails:

Si un RR CNAME est présent sur un nœud, aucune autre donnée ne doit être présente; Cela garantit que les données d'un nom canonique et ses alias ne peuvent pas être différents.

Joschi
la source
La RFC2181 Section 10.1 est également pertinente dans la mesure où elle renforce ce qui précède.
Håkan Lindqvist
également connu sous le nom de domaine apex
Alex78191 Le
5

La section 10.3 de la RFC2181 indique que vous ne pouvez pas diriger votre enregistrement MX vers un CNAME:

Le nom de domaine utilisé comme valeur ... d'un enregistrement de ressource MX ne doit pas être un alias.

nogginboink
la source
2
Ce n'est pas vraiment le scénario sur lequel porte la question, cependant?
Håkan Lindqvist
2

Je viens de déménager à Heroku qui utilise CNAMEs au lieu de disques A et que je devais faire plutôt que de créer un CNAME avec my_domain.com pointant vers heroku. J'ai créé CNAME avec www.my_domain.com pointant vers heroku. le domaine racine ne transférait pas et mes enregistrements MX continueraient à fonctionner. Ensuite, j'ai ajouté un pointeur pour rediriger my_domain.com vers www.my_domain.com. Cela semble fonctionner très bien. Dans mon fournisseur de nom de domaine, le pointeur a été créé à l'aide d'un paramètre "pointeurs" défini sur "standard", "URL" et "www.my_domain.com".

Jesse Adamson
la source
Travail solide! Merci de partager cela!
Duhaime
0

Je me suis rendu compte que ces deux peuvent être entièrement séparés

mydomain.com. -  A Record  - 01.0.0.1
mydomain.com - CNAME - www.cname.eg.com

À moins que vous n'utilisiez votre serveur comme serveur de messagerie, cela n'affectera vraiment rien. Le courrier cherchera les enregistrements MX de mydomain.com. Ce ne sera affecté que si c'est comme ça

mydomain.com - MX - mail.mydomain.com

mais si c'est comme ça (c'est-à-dire que vous utilisez un serveur de messagerie séparé), cela ne sera pas affecté

mydomain.com - MX - mail.mycustommailserver.com

Vous ne pouvez pas utiliser une adresse IP pour les serveurs de messagerie.

Ndeto
la source
-1

J'ai constaté que certains fournisseurs MX associés à certains fournisseurs DNS fonctionnent parallèlement à un CNAME nu, si vous commandez simplement l'enregistrement MX AU-DESSUS du CNAME dans l'ordre décroissant.

Il travaille sur le registraire Name.com avec l'enregistrement Office 365 MX et l'enregistrement CNAME nu dirigeant HTTP vers un autre domaine. Lors du test des requêtes MX, j'ai remarqué que mon résultat CNAME était le premier à correspondre à ma commande d'entrées DNS. Je me suis donc demandé pourquoi ne pas essayer de commander MX en premier et voir si cela satisfaisait le fournisseur MX. À ma grande surprise, la vérification d'Office 365 MX a ensuite été validée et je peux confirmer que les courriers électroniques entrants et sortants coulent effectivement. Et après avoir testé plusieurs clients Web, HTTP est également résolu de manière souhaitable en fonction de l’hôte de destination CNAME spécifié.

Caveat emptor - Cela va clairement à l’encontre de la norme et ne devrait donc probablement pas être envisagé pour quelque chose de critique. Je suppose que l'ordre d'enregistrement n'est pas dans les spécifications et ne peut donc pas être invoqué officiellement ... c'est-à-dire sujet à changement juste après que vous ayez oublié ce hack.

Astuce - La page gratuite de MX Toolbox est très pratique pour vérifier le résultat de l’essai de différents paramètres DNS.

Prise sans scrupule pour mon post correspondant .

Beej
la source
2
En tant que comportement non documenté, ce n’est certainement pas une chose sur laquelle je voudrais compter.
ceejayoz
2
ce comportement ne peut être considéré comme un bogue, un serveur de noms cache peut mettre en cache la réponse CNAME ans MDAs ne verront jamais l'enregistrement MX tools.ietf.org/html/rfc5321#section-5.1
Jasen
-3

Vous pouvez utiliser un CNAME à la racine du domaine. Toutefois, ces enregistrements MX doivent également être configurés sur l'enregistrement hôte. Par conséquent, si vous avez mx1.mail.com configuré sur la zone pour votredomaine.com et la racine de votre domaine. com est CNAME à thisrecord.cname.com, vous devez également vous assurer que mx1.mail.com est configuré sur cet hôte CNAME; sinon, tout le courrier sera perdu!

Mat
la source
4
Le problème est, selon RFC1034, "si un RR CNAME est présent sur un nœud, aucune autre donnée ne doit être présente" - puisque la racine doit avoir des enregistrements NS (pour être utile, de toute façon), il y aura toujours d'autres données. , qui viole cette section de la RFC.
Doktor J
À mon avis, la réponse est correcte, sauf que l'enregistrement MX devrait plutôt figurer sur l'hôte CNAME (pas aussi).
Alexander Taubenkorb