Frage Ist eine CNAME-CNAME-Kette erlaubt?


Ist es in DNS erlaubt, einen CNAME-Eintrag zu haben, der auf einen anderen CNAME-Eintrag verweist?

Der Grund dafür ist, dass wir einen Hostnamen haben, der nach der IP-Adresse unseres Webserver-Computers gesucht werden soll. Wir haben auch einen anderen Webserver, der aktiviert werden kann, falls der erste stirbt. In einem solchen Fall müssten wir den Hostnamen schnell auf die IP-Adresse des Stand-by-Web-Server-Computers verweisen.

Leider befindet sich der Hostname in einer DNS-Domäne, in der jede Änderung aufgrund manueller Operationen, die von anderen Systemadministratoren abhängig sind, lange dauern würde. Aber wir haben eine andere DNS-Domäne, in der wir die Änderungen selbst schnell durchführen können. Die CNAME-CNAME-Kette scheint eine mögliche Lösung zu sein. Aber ist es erlaubt? Werden Webbrowser das verstehen?


60
2017-09-09 07:18


Ursprung




Antworten:


Von RFC 1034 - Domain-Namen - Konzepte und Einrichtungen:

Of course, by the robustness principle, domain software should not fail 
when presented with CNAME chains or loops; CNAME chains should be followed 
and CNAME loops signalled as an error.

Also ja, es ist erlaubt und richtig geschriebene Software wird es nur OK behandeln. CNAME-Ketten gelten jedoch nicht als bewährte Methode und verursachen einen Overhead für die Infrastruktur.


71
2017-09-09 07:37



+1 für die RFC-Referenz - Alnitak
Obwohl ich dies die ganze Zeit mache, ist das obige Zitat nicht im Zusammenhang. Gerade über diesem Absatz liest es .. Domain names in RRs which point at another name should always point at the primary name and not the alias. This avoids extra indirections in accessing information. - Molomby
Erwähnt von der Microsoft Azure-Netzwerk-Typ, CNAME-Verkettung ist wichtig, um AnyCast Loading Balancing für sie durchzuführen. - Paul Lan


Sicher, es ist möglich.

Es ist in der Regel entmutigt aus dem offensichtlichen Grund, dass es mehr DNS-Ressourcen verwendet. Zum Beispiel:

foo   IN      CNAME  someserver.somehost.com.
bar   IN      CNAME  foo

Das Abfragen von 'bar' würde zu CNAME führen foo gefragt werden, dann someserver.somehost.com. abgefragt werden, was zu einer zusätzlichen Abfrage führt.

Für jedes Element in der Kette, die Sie hinzufügen, wird eine weitere Abfrage benötigt.

Ein anderer Grund Es wird davon abgeraten, dass durch die Schaffung von Ketten wie diesen die Chancen, die Sie irgendwie schaffen, entstehen CNAME-Schleifen sind erhöht; Diese sollten von den aktuellen DNS-Servern automatisch erkannt werden, die Server aber dennoch stark belasten.


23
2017-09-09 07:35





Ja, es ist erlaubt und wird funktionieren, aber es wird nicht als gute Praxis angesehen. Die Mehrfachsuche verwendet mehr Ressourcen und es besteht die Gefahr, dass versehentlich eine Schleife erstellt wird.


4
2017-09-09 07:31