DNS mit CNAMEs bricht MX-Datensätze?

42

Wir versuchen, alle unsere Websites, die wir bei CNAMES hosten, zu verschieben, da wir planen, Server im neuen Jahr zu verschieben, und möchten, dass einige Clients auf einen Server und andere Clients an einen anderen Ort verschoben werden können. Wir wollten unseren Kunden einen eindeutigen CNAME geben, den wir zu einem späteren Zeitpunkt ändern können. (Wir haben andere Gründe, dies jetzt zu tun, aber das ist der Hauptgrund)

Wir haben diese Theorie mit einigen unserer eigenen Bereiche getestet und es schien in Ordnung zu sein. Beim Überprüfen der MX-Einträge in einer Domain wurde jedoch der CNAME-Wert und nicht der MX-Eintrag zurückgegeben.

Leider werden alle diese Domains über Kontrollfelder erstellt, aber ich vermute, dass sie nur Zonendateien für mich schreiben.

Ich möchte 2 CNAMEs für die company.com erstellen

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

Der MX-Eintrag sieht ungefähr so ​​aus:

company.com  IN MX 10 mail.company.com

Wir haben einen A-Eintrag für mail.company.com

Tun:

host -t mx company.com

Gibt den CNAME-Wert und nicht den mx-Datensatz zurück.

Ist das erwartetes Verhalten?

Ich habe es geschafft, die obige Konfiguration mit der Systemsteuerung von 123-reg.co.uk zum Laufen zu bringen, bin mir aber nicht sicher, ob das mehr Glück ist als alles andere.

Johnwards
quelle
Dies ist eine häufige Frage, die schon oft gestellt wurde. Ein Beispiel finden Sie unter diesem Link: serverfault.com/questions/18000/…
Russell Heilling
Ich habe ein wenig nach einer Antwort gesucht, konnte aber nicht herausfinden, ob ich etwas anderes mache. Zumal es gut mit einem Domain-Provider funktioniert. Ich habe meine Antwort so, dass sie cool ist und hoffentlich jemandem von Nutzen sein wird.
Johnwards

Antworten:

54

Dies ist ein häufiger Fehler. Sie können keine CNAME RR für Stammdomäne (zB company.com) verwenden und definieren zusätzliche Ressourceneinträge für die gleiche Zone.

Siehe Warum kann ich keinen CNAME-Eintrag für den Stammeintrag erstellen? und RFC1034 Abschnitt 3.6.2 für Details:

Wenn ein CNAME RR an einem Knoten vorhanden ist, sollten keine anderen Daten vorhanden sein. Dadurch wird sichergestellt, dass die Daten für einen kanonischen Namen und seine Aliase nicht unterschiedlich sein können.

joschi
quelle
RFC2181 Abschnitt 10.1 ist auch insofern relevant, als es das Obige verstärkt.
Håkan Lindqvist
auch als Apex-Domain bekannt
Alex78191
5

RFC2181 Abschnitt 10.3 besagt, dass Sie Ihren MX-Eintrag nicht auf einen CNAME verweisen können:

Der als Wert ... eines MX-Ressourceneintrags verwendete Domänenname darf kein Alias ​​sein.

Nogginboink
quelle
2
Das ist aber nicht wirklich das Szenario, um das es in der Frage geht?
Håkan Lindqvist
2

Ich bin gerade zu Heroku gewechselt, das CNAMEs anstelle von A-Datensätzen verwendet, und ich musste stattdessen einen CNAME erstellen, wobei my_domain.com auf heroku zeigte. Die Root-Domain wurde nicht weitergeleitet und meine MX-Einträge würden weiterhin funktionieren. Dann habe ich einen Zeiger hinzugefügt, um my_domain.com zu www.my_domain.com umzuleiten. Es scheint großartig zu funktionieren. In meinem Domain Name Provider wurde der Zeiger mit einer 'Zeigereinstellung' erstellt, die ich auf 'Standard', 'URL' und 'www.my_domain.com' gesetzt habe.

Jesse Adamson
quelle
Solide Arbeit! Vielen Dank für das Teilen!
Duhaime
0

Mir ist klar geworden, dass diese beiden völlig getrennt werden können

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

Sofern Sie Ihren Server nicht als Mailserver verwenden, hat dies keine wirklichen Auswirkungen. Die Mail sucht nach MX-Einträgen von mydomain.com. Es wird nur betroffen sein, wenn es so ist

mydomain.com - MX - mail.mydomain.com

Aber wenn es so ist (was bedeutet, dass Sie einen separaten Mail-Server verwenden), ist es nicht betroffen

mydomain.com - MX - mail.mycustommailserver.com

Sie können keine IP für Mailserver verwenden.

Ndeto
quelle
-1

Ich habe festgestellt, dass EINIGE MX-Anbieter in Verbindung mit EINIGEN DNS-Anbietern tatsächlich zusammen mit einem bloßen CNAME funktionieren, wenn Sie den MX-Eintrag ÜBER dem CNAME in der Reihenfolge von oben nach unten bestellen.

Der Name.com-Registrar wird mit einem Office 365 MX-Datensatz und einem CNAME-Datensatz bearbeitet, der HTTP an eine weitere Domäne weiterleitet. Beim Testen von MX-Abfragen stellte ich fest, dass mein CNAME-Ergebnis zuerst entsprechend meiner DNS-Eintragsreihenfolge zurückgegeben wurde. Daher habe ich mir überlegt, warum ich nicht zuerst MX bestellen sollte, um festzustellen, ob der MX-Anbieter damit zufrieden ist. Zu meiner Überraschung hat die Office 365 MX-Überprüfung dann bestanden und ich kann bestätigen, dass eingehende und ausgehende E-Mails tatsächlich fließen. Und nach dem Testen mehrerer Web-Clients wird HTTP in der Tat wünschenswerterweise auch auf den angegebenen CNAME-Zielhost aufgelöst.

Vorsichtsmaßnahme - Dies verstößt eindeutig gegen den Standard und sollte daher wahrscheinlich für nichts Kritisches in Betracht gezogen werden. Ich gehe davon aus, dass die Rekordreihenfolge nicht in der Spezifikation enthalten ist und daher nicht offiziell als verlässlich angesehen werden kann ... dh Änderungen vorbehalten sind, sobald Sie diesen Hack vergessen haben.

Tipp - Die kostenlose MX Toolbox- Seite ist sehr praktisch, um das Ergebnis verschiedener DNS-Einstellungen zu überprüfen.

Schamloser Stecker für meinen entsprechenden Beitrag .

Beej
quelle
2
Als undokumentiertes Verhalten ist dies definitiv nichts, worauf ich zählen möchte.
Ceejayoz
2
Dieses Verhalten kann nur ein Fehler in Betracht gezogen werden, kann ein Caching - Name - Server den CNAME Antwort zwischenzuspeichern ans MDAs nie den MX - Eintrag sehen tools.ietf.org/html/rfc5321#section-5.1
Jasen
-3

Sie können einen CNAME im Stammverzeichnis der Domain verwenden. Diese MX-Einträge müssen jedoch auch im Host-Datensatz konfiguriert werden. Wenn also mx1.mail.com in der Zone für yourdomain.com konfiguriert ist, müssen Sie auch das Stammverzeichnis Ihrer Domain angeben. com ist CNAME für thisrecord.cname.com. Sie müssen außerdem sicherstellen, dass mx1.mail.com auf diesem CNAME-Host konfiguriert ist. Andernfalls gehen alle E-Mails verloren!

Matt
quelle
4
Das Problem ist, gemäß RFC1034, "wenn ein CNAME RR auf einem Knoten vorhanden ist, sollten keine anderen Daten vorhanden sein" - da die Root NS-Einträge haben muss (um nützlich zu sein), werden immer andere Daten vorhanden sein , was gegen diesen Abschnitt des RFC verstößt.
Doktor J
Meiner Meinung nach ist die Antwort korrekt, außer dass sich der MX- Eintrag stattdessen auf dem CNAME-Host befinden sollte (nicht auch).
Alexander Taubenkorb