Gerade bei selfHOST immer mal wieder eine gern gehörte Frage. Mein liebste Antwort ist die von Dan J. Bernstein:
Remember the wise words of Inigo Montoya: „You keep using CNAME records. I do not think they mean what you think they mean.“ (Quelle)
Leider reagieren die meisten Leute etwas … ähem, verärgert, wenn man sich in seiner Antwort auf dieses Zitat beschränkt. 🙂
Nun gibt es eine ganze Reihe von Gründen, warum man CNAMEs am Besten gar nicht einsetzen sollte (zum Beispiel, dass sie weder von NS- noch von MX-Records referenziert werden dürfen, was aber allzu leicht passiert). Was bei selfHOST relativ häufig vorkommt, ist: Ein Kunde hat komplexe DNS-Einstellungen auf domain1.tld und möchte nun, dass unter domain2.tld das komplette Set an DNS-Einträgen genauso abgebildet wird. Er möchte von daher per CNAME sagen: domain2.tld soll einfach alle Einträge von domain1.tld erben. (Böse Zungen behaupten, dass dahinter vor allem der Wunsch steht, den DynDNS-Account einer Domain einfach noch auf einer zweiten mitbenutzen zu können, ohne dafür auch einen zweiten DynDNS-Account zu bezahlen.) Hier nun also der offizielle FAQ-Eintrag:
Frage: Warum kann ich keinen CNAME für eine ganze Domain definieren?
Antwort: Weil es gegen RFC 1912 verstößt. Hier steht’s:
2.4 CNAME recordsA CNAME record is not allowed to coexist with any other data. In other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you can't also have an MX record for suzy.podunk.edu, or an A record, or even a TXT record. Especially do not try to combine CNAMEs and NS records like this!: podunk.xx. IN NS ns1 IN NS ns2 IN CNAME mary mary IN A 1.2.3.4 This is often attempted by inexperienced administrators as an obvious way to allow your domain name to also be a host. However, DNS servers like BIND will see the CNAME and refuse to add any other resources for that name. Since no other records are allowed to coexist with a CNAME, the NS entries are ignored. Therefore all the hosts in the podunk.xx domain are ignored as well!
So!