Was ist ein CNAME-Record?

Ein CNAME-Record macht einen Hostnamen zum Alias eines anderen: Der Resolver beginnt die Abfrage mit dem Zielnamen neu und verwendet die Einträge, die er dort findet.

CNAME steht für „Canonical Name“, also den eigentlichen Namen. Ist www.example.com ein CNAME für example.com, folgt ein Resolver, der nach der Adresse von www.example.com gefragt wird, dem Alias und liefert die A- und AAAA-Records von example.com zurück. Praktisch ist das, wenn ein Drittanbieter den Dienst betreibt: Sie verweisen mit einem Namen auf den Hostnamen des Anbieters, und dieser kann die dahinterliegenden Adressen ändern, ohne dass Sie Ihre Zone anfassen müssen.

Die wichtige Einschränkung: Ein Name mit CNAME darf keinen weiteren Eintrag haben. Deshalb lässt sich ein CNAME nicht am Apex einer Zone (example.com selbst) setzen, denn dort müssen SOA- und NS-Records stehen. DNS-Anbieter umgehen das mit eigenen Funktionen wie „ALIAS“, „ANAME“ oder „CNAME Flattening“, die das Ziel auf ihrer Seite auflösen und mit gewöhnlichen A- und AAAA-Records antworten.

Ein CNAME zeigt immer auf einen Namen, nie auf eine IP-Adresse, und sollte nicht auf eine lange Kette weiterer CNAMEs verweisen: Jeder Schritt kostet eine zusätzliche Abfrage. MX- und NS-Records dürfen nicht auf einen Namen zeigen, der selbst ein CNAME ist.

Beispiel

www.example.com.   3600  IN  CNAME  example.com.
shop.example.com.  3600  IN  CNAME  stores.platform.example.

Selbst prüfen

So sieht das Thema „CNAME-Record“ bei einer echten Domain aus:

DNS-Abfrage