Modul 3 · 3.2
CNAME und die nackte Domain
Modul 3: Einträge für Ihre Website · Lesezeit: 8 Minuten
Lernziel: Nach dieser Lektion können Sie einen CNAME-Eintrag korrekt erstellen und erklären, warum er nicht auf der nackten Domain stehen kann.
Kernbegriffe: CNAME, Alias, Zielname, die CNAME-Regel (keine anderen Einträge daneben), Apex (nackte Domain), ALIAS/ANAME/CNAME-Flattening
Ein Name, der auf einen anderen Namen verweist
Ein A-Record sagt: "dieser Name wohnt unter dieser Adresse". Ein CNAME-Eintrag (von canonical name) sagt etwas anderes: "dieser Name ist eigentlich ein anderer Name, fragen Sie dort nach". Damit erstellen Sie einen Alias.
shop.example.com. 3600 IN CNAME shops.platform.example.Fragt ein Browser nach der Adresse von shop.example.com, antwortet das DNS: "das ist shops.platform.example". Der Resolver sucht dann den A- oder AAAA-Eintrag dieses Namens und gibt diese Adresse zurück. Für den Besucher ist davon nichts zu merken: Die Adressleiste zeigt einfach weiterhin shop.example.com.
Warum sollten Sie das wollen? Weil die IP-Adresse dann das Problem des anderen ist. Ein Onlineshop-Plattform, Newsletter-Dienst oder Cloud-Anbieter kann seine Server verschieben und die Adressen ändern, ohne dass Sie etwas anpassen müssen. Deshalb bitten viele Dienste um einen CNAME statt um einen A-Record: "lassen Sie www auf shops.platform.example zeigen".
Der Punkt am Ende
In Lektion 2.2 haben Sie gesehen, dass ein Name ohne Punkt am Ende als relativ gelesen wird: Das DNS hängt Ihren eigenen Domainnamen dahinter. Bei einem CNAME geht das sehr oft schief.
| Sie geben als Wert ein | Was das DNS daraus macht |
|---|---|
shops.platform.example. | shops.platform.example (richtig) |
shops.platform.example | shops.platform.example.example.com (existiert nicht) |
Viele Admin-Oberflächen fügen den Punkt heutzutage selbst hinzu oder warnen Sie. Andere nicht. Prüfen Sie also nach dem Speichern in der Liste: Steht hinter dem Wert Ihr eigener Domainname, fehlte der Punkt.
Dieselbe Regel gilt für den Mailserver in einem MX-Eintrag und für NS-Einträge. Bei einer IP-Adresse in einem A-Record setzen Sie keinen Punkt.
Die CNAME-Regel: nichts daneben
Ein CNAME hat eine feste Regel aus dem DNS-Standard (RFC 1034, Abschnitt 3.6.2, und RFC 2181): Ein Name mit einem CNAME darf keine anderen Einträge haben. Logisch: Der CNAME sagt "ich bin eigentlich dieser andere Name". Steht dann auch noch ein A-Eintrag oder ein MX-Eintrag dabei, ist nicht klar, welche Antwort gilt.
Daraus ergeben sich zwei Dinge, denen Sie in der Praxis begegnen:
- Steht bereits ein A-Eintrag für
shop, entfernen Sie diesen zuerst. Eine Admin-Oberfläche verweigert sonst den CNAME-Eintrag, oder schlimmer, akzeptiert ihn und das DNS verhält sich merkwürdig. - Ein CNAME auf der nackten Domain ist nicht möglich.
Warum nicht auf der nackten Domain?
Die nackte Domain, example.com ohne irgendetwas davor, heisst im Fachjargon die Apex oder die Spitze der Zone. Auf diesem Namen stehen immer Einträge, die vorhanden sein müssen:
- der SOA-Eintrag (der technische Kopf der Zone),
- die NS-Einträge (welche Nameserver die Zone verwalten),
- meistens auch MX-Einträge (E-Mail) und TXT-Einträge (SPF, Verifizierung).
Weil ein CNAME keine anderen Einträge neben sich duldet und die Apex immer SOA und NS hat, kann auf der Apex kein CNAME stehen. Das ist keine Einschränkung Ihrer Admin-Oberfläche, sondern des DNS selbst.
Bittet Sie ein Dienst darum, "Ihre Hauptdomain" zu verknüpfen, gibt es drei Lösungen:
- Ein A-Eintrag (und eventuell AAAA) mit der IP-Adresse des Dienstes. Die meisten Onlineshop-Plattformen geben dafür eine feste Adresse an. Das funktioniert überall.
- Ein ALIAS-, ANAME- oder "CNAME-Flattening"-Eintrag. Manche DNS-Anbieter bieten einen eigenen Eintragstyp, der sich wie ein CNAME verhält, den der Nameserver selbst aber in einen A-Eintrag umwandelt, bevor die Antwort versendet wird. Das ist kein offizieller Eintragstyp: Es funktioniert nur bei Anbietern, die es unterstützen, und heisst überall anders.
- Weiterleitung. Lassen Sie die nackte Domain mit einem A-Eintrag auf Ihren eigenen Webserver zeigen, und lassen Sie diesen Besucher zu
www.example.comweiterleiten, das dann einen CNAME zum Dienst hat. Wie eine Weiterleitung funktioniert, lesen Sie in Lektion 3.4.
Wo ein CNAME sonst noch nicht erlaubt ist
- Ein MX-Eintrag darf nicht auf einen CNAME zeigen (RFC 2181, Abschnitt 10.3). Der Mailserver in einem MX muss ein Name mit einem eigenen A- oder AAAA-Eintrag sein. Manche Mailserver kommen trotzdem damit zurecht, aber darauf können Sie sich nicht verlassen.
- Kein CNAME auf einem Namen, den Sie auch als Subdomain in Ihrer Hosting-Oberfläche haben. Eine Subdomain in der Oberfläche erhält bereits selbst Einträge, die auf Ihr Hosting zeigen. Soll der Name auf einen anderen Dienst zeigen, entfernen Sie die Subdomain und erstellen Sie nur den CNAME-Eintrag.
- Ketten sind möglich, aber begrenzen Sie sie. Ein CNAME darf auf einen Namen zeigen, der selbst wieder ein CNAME ist. Jeder Schritt kostet eine zusätzliche Abfrage. Grosse Plattformen machen das häufig (Sie sehen dann zwei oder drei CNAMEs hintereinander), aber erstellen Sie selbst keine langen Ketten.
In der Praxis: So sieht es in einer Admin-Oberfläche aus
Als Beispiel verwenden wir den DNS-Bildschirm von Mein WebOké. In anderen Oberflächen (DirectAdmin, cPanel, Plesk, Cloudflare, den meisten Registraren) heissen die Schaltflächen anders, aber Sie geben dieselben drei Dinge ein: Typ, Name und Zielname.
- Öffnen Sie den DNS-Bildschirm Ihrer Domain und klicken Sie auf Eintrag hinzufügen.
- Wählen Sie den Typ CNAME.
- Geben Sie bei Name nur
shopein, ohne Ihren Domainnamen. - Geben Sie bei Verweist auf den Zielnamen ein, mit einem Punkt am Ende:
shops.platform.example. - Speichern Sie und prüfen Sie in der Liste, ob nicht Ihr eigener Domainname hinter dem Wert steht.
Die Oberfläche im Beispiel warnt, wenn der Punkt fehlt. Nicht jede Oberfläche tut das.
Zusammenfassung
- Ein CNAME macht aus einem Namen einen Alias für einen anderen Namen; die IP-Adresse verwaltet dann der andere.
- Setzen Sie einen Punkt an das Ende des Zielnamens, sonst hängt das DNS Ihre eigene Domain dahinter.
- Ein Name mit einem CNAME darf keine anderen Einträge haben.
- Deshalb kann ein CNAME nicht auf der nackten Domain stehen: dort stehen immer SOA und NS. Verwenden Sie dort einen A-Eintrag, einen ALIAS-ähnlichen Eintrag Ihres DNS-Anbieters oder eine Weiterleitung.
- Ein MX-Eintrag darf nicht auf einen CNAME zeigen.
Quiz
Aufgabe
Aufgabe Z3.2: Einem CNAME folgen. Auf welchen Namen zeigt der CNAME-Eintrag von en.wikipedia.org? Geben Sie den Zielnamen ein.
Aufgabe O3.2: Selbst einrichten in Ihrer Übungszone. Erstellen Sie in Ihrer Übungszone einen CNAME-Eintrag mit dem Namen winkel, der auf shops.shop-demo.dnspractice.eu. zeigt (mit dem Punkt). Achten Sie darauf, dass für winkel kein anderer Eintrag besteht. In der Übungszone verwenden Sie einen fiktiven Dienst; bei Ihrer echten Domain geben Sie den Zielnamen ein, den der echte Dienst angibt. Klicken Sie anschliessend auf Prüfen.
Aufgabe O3.2
Diese Aufgabe erledigen Sie in Ihrer eigenen Übungszone: einer echten DNS-Zone auf den Nameservern von WebOké, nur für Sie. Melden Sie sich mit Ihrer E-Mail-Adresse an. Sie erhalten einen Login-Link per E-Mail und kehren anschliessend zu dieser Lektion zurück. Wir verwenden Ihre Adresse ausschliesslich für den Kurs.
Weiterführende Informationen
Diese Artikel beschreiben die Schritte in den Oberflächen von WebOké; in anderen Oberflächen funktionieren sie ähnlich.
