CNAME

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Mit einem CNAME Resource Record (CNAME für eng. canonical name) wird zu einem vorhandenen DNS-Namen ein Alias-Name definiert. Links im Resource Record (RR) steht der Alias-Name und rechts der Original-Name oder in der DNS-Terminologie: der kanonische Name. Zu einem kanonischen Namen können beliebig viele Aliase definiert werden. Umgekehrt darf ein Alias-Name nur an einen kanonischen Namen verweisen.

Aufbau

Alias-Name
TTL 
(TTL = Time to Live) gibt an, wie lange dieser RR in einem Cache gültig sein darf
IN
CNAME
Original-Name

Im folgenden Beispiel wird zum kanonischen Namen linux.heim.netz ein Alias angelegt:

       linux.heim.netz                1285  IN A     192.168.3.1
       heim.netz                      1285  IN CNAME linux.heim.netz

Komplexere Fälle

Zu einem kanonischen Namen können mehrere Aliase angelegt werden:

       linux.heim.netz                1285  IN A     192.168.3.1
       heim.netz                      1285  IN CNAME linux.heim.netz
       www.heim.netz                  1285  IN CNAME linux.heim.netz

Es ist auch nicht explizit verboten einen Alias auf einen bestehenden Alias zu definieren, also Aliase zu verketten:

       linux.heim.netz                1285  IN A     192.168.3.1
       heim.netz                      1285  IN CNAME linux.heim.netz
       www.heim.netz                  1285  IN CNAME heim.netz

Laut Standard sollen Domainnamen in RRs jedoch stets auf den kanonischen Namen zeigen. Es wird also stark davon abgeraten, dass ein CNAME RR auf einen anderen Alias zeigt. Ebenso folgt daraus zum Beispiel, dass ein MX RR nicht auf einen Alias zeigen sollte.

Es ist auch möglich, einen Alias zu einem kanonischen Namen aus einer anderen Domain zu definieren. Beispiel:

       linux.heim.netz                1285  IN CNAME neu.heim.netz.

Nicht zulässig ist, einen Alias zu definieren, für den ein weiterer RR-Typ gleichen Namens existiert. Der Nameserver wüsste in diesem Fall nicht, wie er sich verhalten sollte. In diesem Beispiel existiert für den Namen heim.netz sowohl ein A-RR als auch ein CNAME-RR:

       heim.netz                1285  IN A     192.168.3.1
       heim.netz                1285  IN CNAME linux.heim.netz

Alias-Auflösung

Wenn ein Nameserver einen DNS-Request empfängt, für den ein CNAME-RR existiert, so löst er diesen selbst auf. Im obersten Beispiel erkennt der Nameserver, dass sich hinter heim.netz der kanonische Name linux.heim.netz verbirgt und löst diesen auf, d. h. er ermittelt die zugehörigen IP-Adresse 192.168.3.1.

Bei der Antwort auf einen DNS-Request wird neben der IP-Adresse auch der kanonische Name übergeben. Der Resolver kann so erkennen, dass sich seine ursprüngliche Anfrage auf einen Alias-Namen bezogen hatte.

Beispiel

Ein nslookup würde folgende Antwort liefern (mit Linux, OS X und Windows):

nslookup heim.netz
Server:         192.168.3.1
Address:        192.168.3.1#53

Name:   linux.heim.netz
Address: 192.168.3.1

Es kann natürlich passieren, dass der Nameserver einen kanonischen Namen nicht auflösen kann. In diesem Fall lässt er bei der Antwort einfach die IP-Adresse weg, und übergibt nur den kanonischen Namen. Der Resolver kann dann selbst versuchen, diesen Namen aufzulösen.

Hinweis:

Ein PTR-RR sollte niemals auf einen Alias zeigen, sondern grundsätzlich auf einen kanonischen Namen. Die meisten Nameserver akzeptieren allerdings auch PTR-RRs auf Aliase.

Korrektes Beispiel (linux.heim.netz ist ein kanonischer Name):

       3.168.192.in-addr.arpa.  IN PTR linux.heim.netz.

Inkorrektes Beispiel (heim.netz ist ein Alias):

       3.168.192.in-addr.arpa.  IN PTR heim.netz.


Quellen und weiterführende Links

Höhe=24px Dieser Artikel ist aus der Wikipedia mit der dortigen Lizenz GFDL (Wikipedia) übernommen worden. Die Quelle in der Wikipedia unter CNAME ist zum Zeitpunkt der Einfügung identisch mit dem, was im Linux-Cub Wiki unter CNAME steht. Der Artikel kann gerne überarbeitet werden. Wenn der Artikel der Quelle im Wortlaut nicht mehr entspricht, kann der Baustein entfernt werden, es muss aber die Quellenangabe unten eingefügt werden. Zudem sollte dann der Bausteine Vorlage:GFDL eingefügt werden, da der Artikel dann unter diese Lizenz fällt. In der Wikipedia ist eine Liste der Autoren verfügbar.

zurück zu DHCP und DNS