CNAME: Aliase in der DNS-Welt
Ein CNAME-Eintrag (Canonical Name) ist ein DNS-Eintragstyp, der einen Alias von einem Hostnamen zu einem anderen erstellt. Anstatt direkt auf eine IP-Adresse zu zeigen (wie ein A-Eintrag), sagt ein CNAME: „Dieser Name ist eigentlich ein Alias für diesen anderen Namen — suchen Sie die IP dort." Es ist wie eine Postweiterleitung: Wenn Sie einen Brief an „Römerstraße 5" senden und dort ein Schild steht „Der Mieter ist in die Mailänder Straße 10 umgezogen", wird die Post an die neue Adresse zugestellt.
CNAMEs sind fundamental in der modernen Web-Infrastruktur: Fast alle Cloud-Dienste, CDNs und SaaS-Plattformen erfordern die Konfiguration eines CNAME, der auf ihren Hostnamen zeigt. Wenn Sie Cloudflare, AWS, Heroku, GitHub Pages oder einen anderen Cloud-Dienst nutzen, hat Ihre Domain typischerweise einen CNAME, der auf den Hostnamen des Anbieters zeigt. Dies ermöglicht es dem Anbieter, die IP-Adressen seiner Server zu ändern, ohne dass Änderungen an Ihrem DNS erforderlich sind.
Die CNAME-Regeln, die Sie kennen müssen
CNAME-Einträge haben strenge Regeln, die in den RFCs definiert sind und bei Verletzung Auflösungsfehler verursachen. Die wichtigste Regel: Ein Hostname mit einem CNAME-Eintrag darf keinen anderen Eintragstyp haben. Das bedeutet, wenn www.beispiel.com einen CNAME hat, können Sie keinen TXT-, MX- oder anderen Eintrag auf demselben Hostnamen hinzufügen. Diese Einschränkung existiert, weil der CNAME angibt, dass dieser Name ein Alias ist — alle DNS-Abfragen für diesen Namen werden an das CNAME-Ziel weitergeleitet.
Die zweite kritische Regel: Sie können keinen CNAME auf der Root (Apex) der Domain verwenden. Die Domain beispiel.com (ohne www) muss mindestens SOA- und NS-Einträge haben, die nicht mit einem CNAME koexistieren können. Wenn Ihr Cloud-Dienst einen CNAME erfordert, Sie aber die Domain-Root verwenden müssen, suchen Sie bei Ihrem DNS-Anbieter nach Alternativen: ALIAS, ANAME oder CNAME-Flattening, die den Konflikt serverseitig lösen.
CNAME-Ketten und Leistung
Wenn ein CNAME auf einen anderen Hostnamen zeigt, der selbst ein CNAME ist, entsteht eine Kette. Unser CNAME Lookup folgt der gesamten Kette bis zur endgültigen Auflösung und zeigt jede Stufe an. CNAME-Ketten erhöhen die Latenz: Jede Stufe erfordert eine zusätzliche DNS-Abfrage. Die Best Practice ist, Ketten auf 1-2 Stufen zu begrenzen. Längere Ketten sind in der Regel das Ergebnis von im Laufe der Zeit geschichteten Legacy-Konfigurationen und sollten vereinfacht werden.
Ein heimtückisches Problem bei CNAME-Ketten sind Schleifen: A zeigt auf B, das wiederum auf A zeigt. Dies verursacht einen endlosen Auflösungsfehler, den Resolver nach einer maximalen Anzahl von Schritten (typischerweise 8-10) abbrechen. Der CNAME Lookup erkennt Schleifen, indem er den Zyklus deutlich anzeigt. Wenn Sie eine Schleife finden, besteht die Lösung darin, die Kette zu unterbrechen, indem Sie einen der CNAMEs durch einen direkten A-Eintrag ersetzen.
Um zu überprüfen, ob Ihre CNAMEs korrekt konfiguriert sind und die Ziele auflösen, kombinieren Sie den CNAME Lookup mit dem DNS Lookup für ein vollständiges Bild. Wenn Sie einen Dienst migrieren und das CNAME-Ziel aktualisieren müssen, senken Sie zuerst die TTL, führen Sie die Änderung durch und überprüfen Sie die globale Propagierung mit DNS Propagation. Dies minimiert die Ausfallzeit bei Migrationen.
CNAMEs werden auch für Vanity-Domains im E-Mail-Marketing und für Tracking verwendet: Links wie click.newsletter.beispiel.com sind oft ein CNAME zur Domain des E-Mail-Marketing-Dienstes. Überprüfen Sie regelmäßig, ob diese CNAMEs noch benötigt werden und auf aktive Dienste zeigen. Verwaiste CNAMEs, die auf Subdomains nicht mehr genutzter Dienste zeigen, können für Subdomain-Takeover anfällig sein, ein erhebliches Sicherheitsrisiko.