- CNAME Resource Record
-
Ein CNAME Resource Record (CNAME RR) ist im Domain Name System dazu vorgesehen, mit einem Namen auf einen anderen Namen zu verweisen. Der Name des CNAME RR verweist auf einen sogenannten canonical name (CNAME).
Im einfachsten Fall verweist der Name eines CNAME Resource Records auf den Namen eines A Resource Records oder eines AAAA Resource Records. Die Namen dieser Resource Records verweisen auf eine IP-Adresse. Beim Wechsel einer IP-Adresse muss dann für mehrere Namen nur ein einziger Resource Record geändert werden. Im Gegenzug ist die Namensauflösung über den CNAME RR aufwendiger.
CNAME Resource Records sind in den Internetstandards RFC 1034 und RFC 1035 von 1987 definiert und im RFC 2181 von 1997 nochmals klargestellt, weil diesbezügliche Leistungsanforderungen der Standards ignoriert wurden.
Der Begriff des canonical name, des anerkannten Namens, wurde vielfach als Einschränkung interpretiert, einen letztlich offiziellen Namen festzulegen zu müssen. Daraus wurde wiederum abgeleitet, weitere Namen dürften nur solche von CNAME Resource Records sein, auf die andere CNAME Resource Records aber nicht verweisen dürften. Tatsächlich ist aber gemeint, dass es kein Name eines anderen Resource Records sein muss, sondern dass der Name auch nur irgendwo außerhalb vom Domain Name System anerkannt sein kann.[1]
Ein NS Resource Record, MX Resource Record oder PTR Resource Record darf nicht auf einen CNAME Resource Record verweisen. Umgekehrt darf ein PTR Resource Record aber durchaus nur über einen CNAME Resource Record zugänglich sein. Der Name eines CNAME Resource Records darf nicht als Name anderer Resource Records verwendet werden, mit Ausnahme der Domain Name System Security Extensions.
Inhaltsverzeichnis
Syntax
<Name> IN CNAME <Ziel>
Beispiele
Im folgenden einfachen Beispiel wird zuerst ein Name für eine IP-Adresse angelegt und anschließend mit einem CNAME RR auf diesen CNAME verwiesen:
www.example.com. IN A 192.0.2.42 www.example.net. IN CNAME www.example.com.
Mehrere Resource Records können auf dasselbe Ziel verweisen, und CNAME Resource Records können verschachtelt werden:
www.example.com. IN A 192.0.2.42 www.example.org. IN A 192.0.2.42 www.example.net. IN CNAME www.example.com. en.example.net. IN CNAME www.example.net. de.example.net. IN CNAME www.example.net.
Welche dieser Varianten im Einzelfall sinnvoll ist, hängt maßgeblich von der Menge zu erwartender Änderungen ab.
Namensauflösung
Wenn ein Nameserver eine Anfrage empfängt, für die ein CNAME RR existiert, so löst er möglichst bis zur IP-Adresse auf. Im Beispiel erkennt der Nameserver natürlich, dass www.example.com noch nicht die gewünschte Antwort auf die Anfrage zu www.example.net sein kann.
Bei der Antwort wird neben der IP-Adresse auch der zugehörige Name übergeben. Der Client kann so erkennen, dass sich seine ursprüngliche Anfrage auf einen CNAME RR bezogen hatte.
Ein nslookup würde folgende Antwort liefern:
C:\>nslookup www.example.net Name: www.example.com Address: 192.0.2.42 Aliases: www.example.net
Es kann natürlich passieren, dass ein Nameserver nicht bis zur IP-Adresse auflösen kann. In diesem Fall gibt er nur den CNAME zurück. Der Client muss dann versuchen, diesen Namen auf anderem Weg weiter aufzulösen.
Einzelnachweise
- ↑ RFC 2181 – Clarifications to the DNS Specification. Internet Engineering Task Force (Juli 1997). Abgerufen am 10. Juli 2011.
Wikimedia Foundation.