CNAME em @ (BIND) [duplicado]

2

Posso colocar algo assim no meu arquivo .zone?

@       IN      CNAME   srvr-01.foo.bar.

Ou isso é inválido? Se for inválido, como posso redirecionar os visitantes de mydomain.com para o servidor srvr-01.foo.bar ? (note que eu não estou dado o IP do servidor, apenas o domínio, o que me faz pensar que poderia mudar de forma aleatória)

EDIT: Desculpe, meu mal. Eu substitui NS por CNAME , que é o que eu realmente queria escrever.

    
por alexandernst 30.06.2014 / 10:33

2 respostas

5

É ilegal pelo RFC1912:

RFC1912 2.4: "Um registro CNAME não pode coexistir com nenhum outro dado".

No entanto, o RFC1034 apenas afirma que "não deve" ser usado. O que para mim significa que tecnicamente não é ilegal (RFC2119). Você pode usá-lo se o seu software DNS o suportar e você souber o que está fazendo. No entanto, existem implementações na Internet que dependem de "CNAME xor outros dados" (MS Exchange, por exemplo).

Resposta curta: não.

    
por 30.06.2014 / 11:16
5

Primeiro, é importante entender o que significa @ .

@ é uma referência a o valor atual da origem. Por padrão, a origem é o nome da zona, mas ela pode ser redefinida em qualquer ponto do arquivo de zona usando o $ORIGIN directiva (por exemplo, $ORIGIN foo.example.com. ).

Isso significa que nenhuma declaração geral pode ser feita em relação a @ IN CNAME ... , pois o significado depende inteiramente do valor atual da origem.

O que pode ser dito é que a legalidade de adicionar um registro CNAME depende da existência de outros registros para o mesmo nome. CNAME registros não podem coexistir com outros dados.

Como resultado direto do acima, nunca é legal ter um registro CNAME no ápice da zona, pois o ápice da zona sempre terá pelo menos SOA e NS registros.

    
por 30.06.2014 / 14:26