Vraag Is een CNAME- naar CNAME-keten toegestaan?


Is het toegestaan ​​in DNS om een ​​CNAME-record te hebben dat verwijst naar een andere CNAME-record?

De reden dat we dit nodig hebben, is dat we een hostnaam hebben die we willen laten opzoeken naar het IP-adres van onze webservercomputer. We hebben ook een andere webservercomputer bij de hand die kan worden geactiveerd als de eerste zou overlijden. In een dergelijk geval moeten we snel de hostnaam naar het IP-adres van de stand by webservercomputer wijzen.

Helaas bevindt de hostnaam zich in een DNS-domein waar een wijziging lang zou duren vanwege handmatige bewerking, afhankelijk van andere sysadmins. Maar we hebben nog een DNS-domein waar we de wijzigingen zelf snel kunnen uitvoeren. Het hebben van een CNAME-naar-CNAME-keten lijkt een mogelijke oplossing. Maar is het toegestaan? Zullen webbrowsers het begrijpen?


60
2017-09-09 07:18


oorsprong




antwoorden:


Van RFC 1034 - Domeinnamen - concepten en faciliteiten:

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.

Dus ja, het is toegestaan ​​en correct geschreven software zal het gewoon goed behandelen. CNAME-ketens worden echter niet als goede praktijken beschouwd en leggen een overhead op aan de infrastructuur.


71
2017-09-09 07:37



+1 voor de RFC-referentie - Alnitak
Hoewel ik dit de hele tijd doe, is het bovenstaande citaat uit de context. Vlak boven deze paragraaf staat er ... 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
Genoemd door de Microsoft Azure-netwerkbeheerder, CNAME-ketting is belangrijk om het laden van de AnyCast-taakverdeling voor hen uit te voeren. - Paul Lan


Natuurlijk is het mogelijk.

Het is over het algemeen ontmoedigd hoewel, om de duidelijke reden dat het meer DNS-bronnen gebruikt. Bijvoorbeeld:

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

Het opzoeken van de 'balk' zou in CNAME resulteren foo bevraagd worden someserver.somehost.com. worden ondervraagd, wat resulteert in één extra zoekopdracht.

Voor elk element in de keten dat u toevoegt, is een nieuwe zoekopdracht vereist.

Een andere reden dit wordt ontmoedigd is dat, door het creëren van ketens als deze, de kansen die je op de een of andere manier zult creëren CNAME-loops zijn toegenomen; deze zouden automatisch door de huidige DNS-servers moeten worden gedetecteerd, maar zouden nog steeds een grote belasting van de servers met zich mee brengen.


23
2017-09-09 07:35





Ja, het is toegestaan ​​en zal werken, maar het wordt niet als een goede gewoonte beschouwd. De meerdere lookups gebruiken meer bronnen en het risico bestaat dat er per ongeluk een lus ontstaat.


4
2017-09-09 07:31