Por que a raiz de um domínio não pode ser um CNAME? [duplicado]

17

Acabei de ler esta pergunta que essencialmente diz que quando eu configuro o DNS para example.com, o registro raiz não pode ser um CNAME, ele tem que ser um registro A.

Minha pergunta é: por quê?

Tenho certeza de que as pessoas inteligentes que projetaram o DNS não fizeram restrições arbitrárias por nenhuma razão, mas não vejo o que ganhamos exigindo que os domínios raiz sejam registros A. Eu adoraria apenas apontar meu domínio example.com para someserver.somewebhost.example e esquecer, mas não posso.

Por favor, me esclareça, billpg.

    
por billpg 13.08.2010 / 15:27

2 respostas

22

Em primeiro lugar, o motivo subjacente não é que você deve usar um registro A, mas não pode usar um registro CNAME, porque eles não podem coexistir com outros tipos de registro de recurso normal.

A razão para essa restrição está em §3.6.2 da RFC 1034:

If a CNAME RR is present at a node, no other data should be present; this ensures that the data for a canonical name and its aliases cannot be different. This rule also insures that a cached CNAME can be used without checking with an authoritative server for other RR types.

Como a raiz de um domínio (delegado) deve ter um registro SOA e NS, a regra acima entra em ação, impedindo o uso de CNAMEs também.

    
por 13.08.2010 / 15:34
10

Bem, não é que a raiz de um domínio não possa ser CNAME - é que CNAME não pode coexistir com outros tipos de registro para o mesmo domínio.

Simplificando, não faria sentido que um domínio com CNAME tivesse qualquer outro tipo de registro, porque o CNAME garantiria que eles nunca fossem vistos ou lidos.

Digamos que tentamos dar a example.net um CNAME (apontando para host.example. com ) e um A record (apontando para algum outro endereço IP). / p>

  1. Primeiro, o cliente solicitaria um registro A de example.net dos servidores de nomes do example.net.

  2. Os servidores de nomes do example.net nos informariam que precisamos seguir um registro CNAME para prosseguir. Então nós fazemos. O CNAME aponta para host.example.com .

  3. O cliente solicitaria um registro A dos servidores de nomes de host.example.com .

Observe como nunca tivemos a chance de ler um registro A ou qualquer outro tipo de registro do example.net? O CNAME tem precedência.

    
por 04.12.2012 / 13:04