MX-Aufnahmepunkt auf sich selbst möglich?

7

Nehmen wir an, ich habe das folgende DNS für die Domain aktiv example.com(ohne Priorität und ttl).

   example.com A    123.45.67.89
mx.example.com A    123.45.67.89
   example.com MX   mx.example.com

Dies ist ein gültiger DNS-Eintrag. Wenn ich den folgenden mx-Datensatz hinzufügen würde, würde das Probleme verursachen?

mx.example.com MX   mx.example.com

Ich habe dies getestet und es scheint zu funktionieren, aber ich möchte sicher sein.

Der Grund ist, dass ich immer [email protected] verwendet habe, um E-Mails zu versenden, ohne dass dieser letzte mx-Datensatz hinzugefügt wurde. Einige Dienste schlagen jedoch fehl, weil sie nicht die Hauptdomäne verwenden, sondern nach der Unterdomäne suchen, wenn dieser mx-Datensatz vorhanden ist. Das Hinzufügen des mx-Datensatzes scheint zu bewirken, dass alle Dienste funktionieren, aber ich mache mir jetzt Sorgen, dass dies Probleme beim tatsächlichen Senden / Empfangen von E-Mails verursachen kann.

Außerdem habe ich die Priorität für den neuen mx-Datensatz so festgelegt, dass er niedriger als der ursprüngliche ist. Theoretisch sollte er also immer den ersten auswählen, aber ich bin gespannt, dass es sogar funktionieren würde, wenn die Prioritäten umgekehrt würden.

LPChip
quelle
2
MX-Datensätze verweisen nicht auf MX-Datensätze, sodass ein MX-Datensatz nicht auf sich selbst verweisen kann.
user253751

Antworten:

16

Eine MX RR, die auf sich selbst zeigt, ist vollkommen gültig und verursacht keine Probleme. Aufgrund der allgemeinen Regel, dass ein Domain-Name keine MX-RR, sondern eine A-RR hat, kann diese für die Postzustellung verwendet werden. Mit anderen Worten, eine auf sich selbst zeigende MX-RR wird implizit angenommen, wenn keine explizite MX-RR vorhanden ist.

Beachten Sie, dass Ihr Beispielcode syntaktische Probleme aufweist. Den FQDNs fehlen die letzten Punkte, und den MX-RRs fehlen Prioritätsfelder. Es sollte lauten:

   example.com.    A    123.45.67.89
   mx.example.com. A    123.45.67.89
   example.com.    MX   10 mx.example.com.
   mx.example.com. MX   10 mx.example.com.

oder äquivalent:

   $ORIGIN example.com.
   @               A    123.45.67.89
                   MX   10 mx
   mx              A    123.45.67.89
                   MX   10 mx

(Die $ORIGINDirektive ist redundant, wenn das Ganze Teil der Zonendatei für die Domäne ist example.com.)

Tilman Schmidt
quelle
Vielen Dank. Ich habe das vergessen. In meinem Konfigurationsfenster sind sie zwar nicht erforderlich, aber ich habe auch mit DirectAdmin gearbeitet, wo sie benötigt werden. Und das Fehlen, keine Prioritäten zu verwenden, diente nur dazu, die Dinge weniger verwirrend zu machen. Abgesehen davon habe ich Ihre Antwort vollständig verstanden und aus diesem Grund habe ich sie akzeptiert. Vielen Dank. :)
LPChip
1
Ich würde es jedoch nicht als völlig überflüssig betrachten. Das Vorhandensein des MX-Datensatzes kann als Hinweis darauf angesehen werden, dass die Domain E-Mails empfangen soll. Wenn die Domain keinen MX-Eintrag hat, aber einen A-Eintrag, können Sie trotzdem versuchen, die E-Mail zuzustellen. Wenn Sie jedoch keine Verbindung zu Port 25 herstellen können, möchten Sie dann sofort einen Fehler machen oder mehrere Tage lang erneut versuchen, eine E-Mail zuzustellen, in der der Domainname falsch eingegeben wurde?
Kasperd
4
@kasperd: Ein menschlicher Leser könnte dies als einen solchen Hinweis ansehen, aber ein Mailserver hat keine andere Wahl, als die Wiederholungsversuche durchzuführen, wenn er RFC-konform sein möchte. Ich halte das auch nicht für ein großes Problem. Der Ressourcenverbrauch dieser nutzlosen Wiederholungsversuche ist vernachlässigbar gering, und Tippfehler, die zufällig den Domänenteil in den vollqualifizierten Domänennamen eines vorhandenen Servers ohne E-Mail-Dienst ändern, sind so unwahrscheinlich, dass sie das Volumen der nutzlosen Wiederholungsversuche, die Sie regelmäßig sehen, nicht wesentlich erhöhen auf einem beliebigen Mailserver.
Tilman Schmidt
In einigen Situationen besteht ein Unterschied zwischen einem selbstreferenziellen MX-Datensatz zusätzlich zu einem A-Datensatz oder nicht: Wenn ein zusätzlicher MX-Datensatz auf einen anderen MTA verweist, wird die implizite Annahme, dass ein MX auf den Host verweist, nicht getroffen .
Hagen von Eitzen
Richtig. Deshalb habe ich in meiner Antwort geschrieben, "wenn keine explizite MX RR vorhanden ist".
Tilman Schmidt
5

Sie schienen sich zu verwirren. Das DNS-MX-RR-Format domain MX pref namewird verwendet, um anzugeben, dass ein Server mit einem Namen nameein MX für die Domäne ist domain.

In Ihrem Fall sagen Sie, dass der Server mit dem Namen mx.example.comE-Mails für die mx.example.comDomain verarbeitet. Dies ist vollkommen gültig, aber es scheint mir, dass Sie einen MX für einrichten möchten example.com.

Drookie
quelle
Wie mein Beispiel zeigt, habe ich bereits einen MX-Eintrag für example.com, aber einige Dienste sind fehlerhaft, da mx.example.com für E-Mails verwendet wird und daher [email protected] nicht gültig ist. Durch Hinzufügen dieses MX-Datensatzes habe ich ihn behoben, aber ich befürchtete, dass er möglicherweise nicht wie erwartet funktioniert. Also meine Frage.
LPChip
1
Der Teil über Selbstverwirrung bleibt bestehen.
Drookie
@LPChip Ich muss Drookie zustimmen - entweder haben Sie hier einen Randfall, der einer weiteren Qualifikation bedarf, bevor jemand etwas besonders Hilfreiches dazu sagen kann, oder Sie komplizieren die Dinge übermäßig.
Rob Moir
@RobM könnte beides sein. Ich mache mir wahrscheinlich Sorgen um etwas, das nicht existiert und daher die Dinge überkompliziert. Grundsätzlich lautet meine Frage: Kann ein MX-Datensatz auf sich selbst verweisen und keine Probleme verursachen?
LPChip
5

Ich denke, der Kern Ihrer Frage wurde beantwortet, aber Sie möchten vielleicht einige Verwirrung beseitigen:

  1. Es gibt keinen "zweiten MX-Datensatz mit niedrigerer Priorität". Die Prioritäten der MX-Datensätze sind auf Namen beschränkt. Beide Namen in Ihrem Beispiel haben jeweils nur einen MX, sodass die Priorität völlig ohne Konsequenz ist. Ein MTA sucht in den MX-Datensätzen nach genau dem Host-Teil, an den er liefern möchte, und nach nichts anderem (mit Ausnahme der A / AAAA-Suche, wenn die MX-Suche keine Ergebnisdatensätze liefert).
  2. Außerdem zeigt der MX-Datensatz nicht auf sich selbst - er enthält nur denselben Hostnamen, unter dem er gespeichert ist, aber dieser Name verweist auf A- und AAAA-Datensätze, die sich von dem unter demselben Namen gespeicherten MX-Datensatz unterscheiden. In DNS können Sie eine beliebige Anzahl verschiedener Einträge unter demselben Namen speichern, und es ist nichts Falsches daran, dass ein Eintrag unter einem Namen auf einen anderen Eintrag unter demselben Namen verweist. Das einzige, was keine gute Idee ist, ist, auf denselben zu verweisen Datensatz, wie ein CNAME-Datensatz mit einem eigenen Namen, da dieser wiederum ad infinitum auf denselben CNAME-Datensatz usw. verweisen würde.
foobar978538783748934
quelle