CNAME: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Aufbau: Angepasst an in Bind aufgeführten Bsp.)
(Beispiel: nslookup heim.netz funktioniert unter Linux OS X und Windows gleich. ;-))
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Mit einem '''CNAME Resource Record''' (CNAME für [[Englische Sprache|eng.]] canonical name) wird zu einem vorhandenen [[Domain Name System|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 [[Alias]]e definiert werden. Umgekehrt darf ein Alias-Name nur an einen kanonischen Namen verweisen.
+
Mit einem '''CNAME Resource Record''' (CNAME für eng. canonical name) wird zu einem vorhandenen [[Domain Name System|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 [[Alias]]e definiert werden. Umgekehrt darf ein Alias-Name nur an einen kanonischen Namen verweisen.
  
 
== Aufbau ==
 
== Aufbau ==
Zeile 9: Zeile 9:
 
;Original-Name
 
;Original-Name
  
Im folgenden Beispiel wird zum kanonischen Namen ''org-nam'' ein Alias angelegt:
+
Im folgenden Beispiel wird zum kanonischen Namen ''linux.heim.netz'' ein Alias angelegt:
         linux.heim.netz.               1285  IN A    192.168.3.1
+
         linux.heim.netz                1285  IN A    192.168.3.1
         heim.netz                       1285  IN CNAME linux.heim.netz.
+
         heim.netz                     1285  IN CNAME linux.heim.netz
  
 
== Komplexere Fälle ==
 
== Komplexere Fälle ==
  
 
Zu einem kanonischen Namen können mehrere Aliase angelegt werden:
 
Zu einem kanonischen Namen können mehrere Aliase angelegt werden:
         org-nam               1285  IN A    172.27.100.200
+
         linux.heim.netz               1285  IN A    192.168.3.1
         ali1-nam              1285  IN CNAME org-nam
+
         heim.netz                      1285  IN CNAME linux.heim.netz
         ali2-nam              1285  IN CNAME org-nam
+
         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:
 
Es ist auch nicht explizit verboten einen Alias auf einen bestehenden Alias zu definieren, also Aliase zu verketten:
         org-nam               1285  IN A    172.27.100.200
+
         linux.heim.netz               1285  IN A    192.168.3.1
         ali-nam                1285  IN CNAME org-nam
+
         heim.netz                      1285  IN CNAME linux.heim.netz
         bli-nam                1285  IN CNAME ali-nam
+
         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.
 
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:
 
Es ist auch möglich, einen Alias zu einem kanonischen Namen aus einer anderen Domain zu definieren. Beispiel:
  
         ali-nam               1285  IN CNAME neu-nam.example.net.
+
         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 ''ali-nam'' sowohl ein [[A Resource Record|A-RR]] als auch ein CNAME-RR:
+
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 Resource Record|A-RR]] als auch ein CNAME-RR:
  
         ali-nam               1285  IN A    192.168.1.2
+
         heim.netz               1285  IN A    192.168.3.1
         ali-nam               1285  IN CNAME org-nam
+
         heim.netz               1285  IN CNAME linux.heim.netz
  
 
== Alias-Auflösung ==
 
== 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 ''ali-nam''  der kanonische Name ''org-nam'' verbirgt und löst diesen auf, d. h. er ermittelt die zugehörigen [[IP-Adresse]] 172.27.100.200.
+
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.
 
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.
Zeile 42: Zeile 43:
 
== Beispiel ==
 
== Beispiel ==
  
Ein nslookup würde folgende Antwort liefern:
+
Ein nslookup würde folgende Antwort liefern (mit Linux, OS X und Windows):
  
         C:\>nslookup ali-nam.example.com
+
nslookup heim.netz
 +
Server:         192.168.3.1
 +
Address:       192.168.3.1#53
 
   
 
   
        Name:   org-nam.example.com
+
Name:   linux.heim.netz
        Address: 172.27.100.200
+
Address: 192.168.3.1
        Aliases:  ali-nam.example.com
 
  
 
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.
 
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:<br/>
+
{{Box Hinweis||
 
Ein PTR-RR sollte niemals auf einen Alias zeigen, sondern grundsätzlich auf einen kanonischen Namen. Die meisten Nameserver akzeptieren allerdings auch [[PTR Resource Record|PTR-RR]]s auf Aliase.
 
Ein PTR-RR sollte niemals auf einen Alias zeigen, sondern grundsätzlich auf einen kanonischen Namen. Die meisten Nameserver akzeptieren allerdings auch [[PTR Resource Record|PTR-RR]]s auf Aliase.
  
Korrektes Beispiel (''org-nam'' ist ein kanonischer Name):
+
Korrektes Beispiel (''linux.heim.netz'' ist ein kanonischer Name):
         200.100.23.127.in-addr.arpa.  IN PTR org-nam.example.com.
+
         3.168.192.in-addr.arpa.  IN PTR linux.heim.netz.
  
Inkorrektes Beispiel (''ali-nam'' ist ein Alias):
+
Inkorrektes Beispiel (''heim.netz'' ist ein Alias):
         200.100.23.127.in-addr.arpa.  IN PTR ali-nam.example.com.
+
         3.168.192.in-addr.arpa.  IN PTR heim.netz.
 +
}}
  
== Links ==
+
== Quellen und weiterführende Links ==
  
 
* RFC 1035
 
* RFC 1035
 
+
* [[bind]]
 
{{Wikipedia}}
 
{{Wikipedia}}
 
----
 
----

Aktuelle Version vom 9. Juni 2007, 14:51 Uhr

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