DNS usando CNAMEs quebra registros MX?

42

Estamos tentando mover todos os sites que hospedamos no CNAMES, pois planejamos mover servidores no ano novo e gostaríamos da capacidade de mover alguns clientes para um servidor e outros para outro lugar. Estávamos pensando em fornecer aos clientes um CNAME exclusivo, que poderemos mudar posteriormente. (Temos outras razões para fazer isso agora, mas essa é a principal)

Temos testado essa teoria com alguns de nossos próprios domínios e parecia estar bem. No entanto, ao verificar os registros MX em um domínio, recebi o valor CNAME de volta, em vez do registro MX.

Infelizmente, todos esses domínios são feitos através de painéis de controle, mas acho que eles estão apenas escrevendo arquivos de zona para mim.

Quero criar 2 CNAMEs para a empresa.com

company.com. IN CNAME client.dns.ourserver.com
www          IN CNAME client.dns.ourserver.com

O registro MX é algo como o seguinte:

company.com  IN MX 10 mail.company.com

Temos um registro A para mail.company.com

Fazendo:

host -t mx company.com

Retorna o valor CNAME em vez do registro mx.

Esse comportamento é esperado?

Consegui fazer com que a configuração acima funcionasse com o painel de controle do 123-reg.co.uk, mas não tenho certeza se isso é mais sorte do que qualquer coisa.

johnwards
fonte
Essa é uma pergunta comum e já foi feita várias vezes antes. Veja este link para um exemplo: serverfault.com/questions/18000/...
Russell Heilling
Passei um pouco procurando uma resposta, mas não consegui descobrir se estava fazendo algo diferente. Especialmente porque está funcionando bem com um provedor de domínio. Eu tenho minha resposta para que seja legal e espero que seja útil para alguém.
johnwards

Respostas:

54

Este é um erro comum. Você não pode usar um RR CNAME para o seu domínio raiz (por exemplo, empresa.com) e definir registros de recursos adicionais para a mesma zona.

Consulte Por que não consigo criar um registro CNAME para o registro raiz? e RFC1034 seção 3.6.2 para detalhes:

Se um CNAME RR estiver presente em um nó, nenhum outro dado deverá estar presente; isso garante que os dados para um nome canônico e seus aliases não possam ser diferentes.

joschi
fonte
A Seção 10.1 da RFC2181 também é relevante, pois reforça o exposto acima.
Håkan Lindqvist
também conhecido como domínio do vértice
Alex78191
5

A seção 10.3 da RFC2181 diz que você não pode apontar seu registro MX para um CNAME:

O nome do domínio usado como o valor ... de um registro de recurso MX não deve ser um alias.

nogginboink
fonte
2
Esse não é realmente o cenário sobre o qual a pergunta se refere?
Håkan Lindqvist
2

Acabei de me mudar para Heroku, que usa CNAMEs em vez de registros A, e o que eu precisava fazer era em vez de criar um CNAME com meu_domínio.com apontando para heroku, eu fiz o CNAME com www.my_domain.com apontando para heroku, portanto, o / o domínio raiz não estava encaminhando e meus registros MX ainda funcionavam. Em seguida, adicionei um ponteiro para redirecionar meu_domínio.com para www.my_domain.com. Parece funcionar muito bem. No meu provedor de nomes de domínio, o ponteiro foi criado usando uma configuração de 'ponteiros', que defini como 'padrão' 'URL' e 'www.my_domain.com'

Jesse Adamson
fonte
Trabalho sólido! Obrigado por compartilhar isso!
duhaime
0

Eu percebi que esses dois podem ser totalmente separados

mydomain.com. -  A Record  - 01.0.0.1
mydomain.com - CNAME - www.cname.eg.com

A menos que você esteja usando o servidor como servidor de correio, ele realmente não afetará nada. O email procurará os registros MX do meu domínio.com. Só será afetado se for assim

mydomain.com - MX - mail.mydomain.com

mas se for assim (o que significa que você está usando um servidor de email separado) não será afetado

mydomain.com - MX - mail.mycustommailserver.com

Você não pode usar um IP para servidores de email.

Ndeto
fonte
-1

Descobri que ALGUNS provedores MX em conjunto com ALGUNS provedores DNS realmente funcionarão junto com um CNAME vazio, se você apenas solicitar o registro MX ACIMA do CNAME na ordem de registro de cima para baixo.

Ele está trabalhando no registrador Name.com com o registro MX do Office 365 e o registro CNAME simples, direcionando o HTTP para outro domínio. Ao testar as consultas MX, notei que meu resultado CNAME voltou primeiro correspondendo à minha ordem de entradas DNS, então imaginei por que não tentar solicitar MX primeiro e ver se isso satisfazia o provedor MX. Para minha surpresa, a verificação do Office 365 MX foi aprovada e posso confirmar que o email de entrada e saída está realmente fluindo. E depois de testar vários clientes da Web, o HTTP também resolve de maneira desejável o host de destino CNAME especificado.

Advertência emptor - Isso está claramente indo contra o padrão e, portanto, provavelmente não deve ser considerado para nada crítico. Estou assumindo que a ordem do registro não está na especificação e, portanto, não pode ser oficialmente invocada ... ou seja, sujeita a alterações logo após você esquecer esse hack.

Dica - A página gratuita do MX Toolbox é muito útil para verificar o resultado da tentativa de diferentes configurações de DNS.

Plug Shameless para o meu post correspondente .

Beej
fonte
2
Sendo um comportamento não documentado, isso definitivamente não é algo com o qual eu gostaria de contar.
precisa
2
Este comportamento só pode ser considerado um erro, um servidor de nomes cache pode armazenar em cache a resposta CNAME ans MDAs nunca vai ver o registro MX tools.ietf.org/html/rfc5321#section-5.1
Jasen
-3

Você pode usar um CNAME na raiz do domínio, no entanto, esses registros MX também devem ser configurados no registro host, portanto, se você tiver o mx1.mail.com configurado na zona para o seu domínio.com e a raiz do seu domínio. com é CNAME para thisrecord.cname.com, você também deve certificar-se de que mx1.mail.com esteja configurado nesse host CNAME; caso contrário, todo o correio será perdido!

Matt
fonte
4
O problema é, conforme RFC1034, "se um RR CNAME estiver presente em um nó, nenhum outro dado deverá estar presente" - como a raiz precisa ter registros NS (para ser útil, de qualquer maneira), sempre haverá outros dados , que viola esta seção da RFC.
Doktor J
Na minha opinião a resposta é correto, exceto que o registro MX deve ser em vez no host CNAME (também não).
Alexander Taubenkorb 13/08/2015