Como criar um CNAME para o nome raiz de um domínio

12

Gostaria de definir o nome raiz de um domínio para um CNAME em vez do registro A usual.

Aqui está um exemplo perfeito do que estou tentando fazer:

dig lrnskls.com

Observe a seção de resposta:

;; ANSWER SECTION:

lrnskls.com.            300     IN      CNAME   partner.adjix.com.

partner.adjix.com.      300     IN      A       67.121.212.61

O motivo pelo qual estou tentando fazer isso é poder apontar o nome raiz de um domínio, por meio de um alias CNAME, para o S3 da Amazon. O uso de um registro A não funciona porque os IPs do S3 mudam a cada poucos minutos para fins de balanceamento de carga.

PS - Parece legal na seção 3.6.2 da RFC 1034 (observe o exemplo USC-ISIC.ARPA): http://www.faqs.org/rfcs/rfc1034.html

Kristian Glass
fonte
2
Bom ponto sobre isso aparentemente ser legal, de acordo com o exemplo na seção 3.6.2. O RFC1034 é de 1987 e deve ser lido com atenção às necessidades atuais. Algumas pessoas / muitas pessoas consideram ilegal no contexto moderno, consulte serverfault.com/questions/55528/… . O melhor é IMHO errar por precaução, ou seja, não tente empurrar o DNS usando uma configuração que alguns servidores DNS possam rejeitar.
Jesper M
2
@ jesper - o exemplo da RFC 1034 é irrelevante. Ele mostra um CNAME como um registro independente. Um domínio .com delegado deve ter um registro SOA e registros NS. A configuração do lrnskls.com é tecnicamente inválida.
Alnitak
Você deve corrigir sua terminologia, "nome raiz" não é um termo comum para o que você descreve (que parece ser o nome do ápice da sua zona).
bortzmeyer 7/09/09

Respostas:

14

A Amazon está ciente do problema com domínios raiz e o Elastic Load Balancer. Eles recomendam esta solução alternativa:

  • Configure o domínio raiz para um serviço que redirecione mydomain.com para www.mydomain.com (ou qualquer outro subdomínio de sua escolha)
  • Configure um registro CNAME que mapeie o nome DNS do balanceador de carga para "www.mydomain.com".

Não gosto dessa solução, mas é mais "limpa" que a solução "forçar o domínio raiz ao CNAME".

ATUALIZAÇÃO: A Amazon agora resolve isso para ELB / S3 por meio de registros ALIAS, um recurso DNS do Route53.

hdanniel
fonte
5
+1 por apontar para a maneira compatível de fazer isso. Para reformular esta solução (também consulte a resposta da Amazon vinculada): Você cria um registro A válido para o domínio raiz, com SOA válido. Esse registro A aponta para um serviço de terceiros que você contratou para enviar redirecionamentos HTTP nível 301/302 para www.mydomain.com.
Jesper M
@JesperMortensen Você pode recomendar alguns contratados que fazem esses redirecionamentos? É realmente irritante que meus usuários acessem mycompany.com e vejam apenas os anúncios do meu provedor de nomes de domínio. A recordaponta para um endereço IP e definitivamente não vou comprar um IP estático apenas para esse fim.
foresightyj
10

Não, não é legal. CNAMEnão tem permissão para coexistir com outros registros e você precisa pelo menos SOAaqui.

O exemplo não prova o contrário, porque não implica em ter outros registros lá.

Michael Krelin - hacker
fonte
Então, o verdadeiro ponto da minha pergunta é como faço isso? Como configuro o nome raiz de um domínio como um CNAME e não um registro A? O exemplo "dig lrnskls.com" funciona exatamente como eu esperava que funcionasse. Ou, estou faltando alguma coisa, é o exemplo da escavação?
você pode colocá-lo exatamente como ele é feito para lrnskls.com- basta colocar um CNAMEregistro lá, mas é ilegal não ter SOA;-)
Michael Krelin - hacker de
Então, acho que não há maneira legal de ter o nome raiz de um domínio apontado para S3 como CNAME?
Existe uma maneira legal de ter host, como s3stuff.example.comapontar legalmente para o S3.
Michael Krelin - hacker
3
De fato, a solução adequada é delegar example.com NÃO e convencer o registro .COM, Verisign, a adicionar um CNAME na zona .COM ... Tecnicamente correto, mas a Verisign e a ICANN certamente encontrarão motivos não técnicos para recusá-lo. .
bortzmeyer 7/09/09
2

Mas, meu servidor DNS não permite isso; nem vai o gerenciador de DNS da GoDaddy. Então, estou procurando fazer exatamente o que o proprietário do lrnskls.com fez. Alguém sabe como ele fez isso?

Você provavelmente precisará fazer alguma pesquisa nos servidores DNS. A maioria dos servidores DNS não permite que você faça isso. Acho que me lembro de ter visto outra pergunta na falha do servidor em que alguém postou qual servidor DNS alguém usou para configurar um cname na raiz, mas não consigo encontrá-lo.

Veja também: - Root Cname - WHM? - Defina o registro do domínio raiz como CNAME

Zoredache
fonte
Foi 1and1 de acordo com esta questão serverfault.com/questions/55528/...
hdanniel
1

Se você usar os servidores DNS Route 53 da Amazon, alcançará o que deseja.

Fiquei curioso: o CNAME no apex é proibido pela RFC. Qual é a razão técnica para isso (supondo que não seja arbitrário).

Charles Nobbert
fonte
1
CNAME substitui todos os outros registros. Portanto, é impossível construir uma zona válida em que o ápice tenha um CNAME, pois ele também substituirá o SOA.
Michael Hampton