So erstellen Sie einen CNAME für den Stammnamen einer Domain


12

Ich möchte den Stammnamen einer Domain auf einen CNAME anstelle des üblichen A-Datensatzes setzen.

Hier ist ein perfektes Beispiel dafür, was ich versuche:

dig lrnskls.com

Beachten Sie den Antwortabschnitt:

;; ANSWER SECTION:

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

partner.adjix.com.      300     IN      A       67.121.212.61

Der Grund, warum ich dies versuche, ist, dass ich den Stammnamen einer Domain über einen CNAME-Alias ​​auf Amazon S3 verweisen kann. Die Verwendung eines A-Datensatzes funktioniert nicht, da sich die IP-Adressen von S3 zum Zweck des Lastenausgleichs alle paar Minuten ändern.

PS - Dies scheint gemäß Abschnitt 3.6.2 von RFC 1034 legal zu sein (beachten Sie das USC-ISIC.ARPA-Beispiel): http://www.faqs.org/rfcs/rfc1034.html


2
Ein guter Punkt, der gemäß dem Beispiel in Abschnitt 3.6.2 rechtmäßig zu sein scheint. RFC1034 stammt aus dem Jahr 1987 und sollte mit Blick auf die heutigen Bedürfnisse gelesen werden. Einige Leute / viele Leute halten es in einem modernen Kontext für illegal, siehe serverfault.com/questions/55528/… . Das Beste ist IMHO, um auf Nummer sicher zu gehen, dh versuchen Sie nicht, DNS mit einer Konfiguration zu pushen, die einige DNS-Server ablehnen könnten.
Jesper M

2
@jesper - Das RFC 1034-Beispiel ist irrelevant. Es zeigt einen CNAME als eigenständigen Datensatz. Eine delegierte .com-Domäne muss über einen SOA-Datensatz und NS-Datensätze verfügen. Die Konfiguration von lrnskls.com ist technisch ungültig.
Alnitak

Sie sollten Ihre Terminologie korrigieren. "Stammname" ist kein gebräuchlicher Begriff für das, was Sie beschreiben (dies scheint der Name der Spitze Ihrer Zone zu sein).
Bortzmeyer

Antworten:


14

Amazon ist das Problem mit Stammdomänen und dem Elastic Load Balancer bekannt. Sie empfehlen diese Problemumgehung:

  • Konfigurieren Sie die Stammdomäne für einen Dienst, der mydomain.com zu www.mydomain.com (oder einer anderen Subdomäne Ihrer Wahl) umleitet.
  • Richten Sie einen CNAME-Eintrag ein, der den DNS-Namen des Lastenausgleichs "www.mydomain.com" zuordnet.

Diese Lösung gefällt mir nicht, ist aber "sauberer" als die Lösung "Root-Domain zu CNAME erzwingen".

UPDATE: Amazon adressiert dies jetzt für ELB / S3 über ALIAS-Einträge, eine Route53-DNS-Funktion.


5
+1 für den Hinweis auf die entsprechende Vorgehensweise. So formulieren Sie diese Lösung neu (siehe auch die verknüpfte Antwort von Amazon): Sie erstellen einen gültigen A-Eintrag für die Stammdomäne mit gültiger SOA. Dieser A-Datensatz verweist auf einen Drittanbieter-Service, den Sie mit dem Senden von HTTP-Weiterleitungen der Stufe 301/302 an www.meinedomain.com beauftragt haben.
Jesper M,

@JesperMortensen Können Sie einige Auftragnehmer empfehlen, die solche Weiterleitungen durchführen? Es ist wirklich ärgerlich, dass meine Benutzer auf mycompany.com gehen und nur die Anzeigen meines Domain-Anbieters sehen. A recordverweist auf eine IP-Adresse und ich werde definitiv keine statische IP nur für diesen Zweck kaufen.
Foresightyj

10

Nein, das ist nicht legal. CNAMEdarf nicht mit anderen Datensätzen koexistieren und du brauchst zumindest SOAhier.

Das Beispiel beweist nichts anderes, da es keine anderen Datensätze enthält.


Der eigentliche Punkt meiner Frage ist also, wie ich das mache. Wie richte ich den Stammnamen einer Domain als CNAME und nicht als A-Eintrag ein? Das Beispiel "dig lrnskls.com" funktioniert genau so, wie ich es erwartet hätte. Oder fehlt mir etwas, ist das Grabungsbeispiel?

Sie können es genau so ausdrücken, wie es gemacht wurde lrnskls.com- legen Sie einfach eine CNAMEPlatte dort ab, aber es ist illegal, keine zu haben SOA;-)
Michael Krelin - Hacker

Ich vermute also, dass es keine legale Möglichkeit gibt, den Stammnamen einer Domain als CNAME auf S3 zu verweisen?

Es gibt eine legale Möglichkeit, einen Host zu haben, beispielsweise einen s3stuff.example.comlegalen Hinweis auf S3.
Michael Krelin - Hacker

3
In der Tat besteht die richtige Lösung darin, example.com NICHT delegieren zu lassen und die .COM-Registrierung, Verisign, zu überreden, einen CNAME in die .COM-Zone einzufügen .
Bortzmeyer

2

Mein DNS-Server lässt dies jedoch nicht zu. noch geht GoDaddys DNS-Manager. Ich möchte genau das tun, was der Eigentümer von lrnskls.com getan hat. Weiß jemand, wie er es getan hat?

Sie müssen wahrscheinlich nach DNS-Servern suchen. Bei den meisten DNS-Servern ist dies nicht möglich. Ich denke, ich erinnere mich an eine andere Frage zu Serverfault, bei der jemand den DNS-Server gepostet hat, mit dem ein C-Name im Stammverzeichnis eingerichtet wurde, aber ich kann ihn nicht finden.

Siehe auch: - Root-Cname - WHM? - Legen Sie als Stammdomäneneintrag einen CNAME fest


Dieser Frage zufolge
hdanniel

1

Wenn Sie die Route 53-DNS-Server von Amazon verwenden, wird das gewünschte Ergebnis erzielt.

Ich war neugierig: Der RFC verbietet kein CNAME im Apex. Was ist der technische Grund dafür (vorausgesetzt, es ist nicht willkürlich)?


1
CNAME überschreibt alle anderen Datensätze. Daher ist es unmöglich, eine gültige Zone zu erstellen, in der der Apex einen CNAME hat, da dies auch die SOA überschreiben würde.
Michael Hampton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.