Digamos que possuímos a zona mywebservice.com.
Desejo que cada um de meus clientes obtenha seu próprio subdomínio, como customer.mywebservice.com.
customer.mywebservice.com precisa ser um CNAME para um determinado servidor externo. Como esse site gerencia seu próprio equipamento e pode alterar os endereços a qualquer momento, o CNAME é um requisito.
As pessoas também precisam enviar e-mail para [email protected], o que exigiria um simples registro MX.
No entanto, e é aqui que eu gostaria de algumas orientações:
De acordo com a 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.
Também verifiquei que meu servidor DNS se recusará a fornecer qualquer coisa, exceto um CNAME para hosts que os usam.
Então, parece que posso ter uma situação perdida. Se eu quiser usar o registro MX, preciso usar um A em vez de um CNAME.
Alguém pode pensar em alguma solução alternativa? Obrigado!
fonte
Depois de muito trabalho e pesquisa aqui, encontrei uma solução aceitável. Primeiro, é importante que todos sigamos os RFCs. Corrigi o meu servidor DNS para violar a RFC e descobri que vários outros servidores DNS importantes não respeitariam a alteração.
A ação apropriada é colocar o MX no host ao qual o CNAME aponta. Portanto, se customer.mywebservice.com for um CNAME para o registro A loadbalancer.mywebservice.com, é adequado também criar um registro MX para loadbalancer.mywebservice.com. Eu verifiquei que isso funciona com todos os principais resolvedores.
Se uma consulta MX for feita para customer.mywebservice.com, a biblioteca de resolvedores seguirá o CNAME e obterá o MX apropriado para o registro A final. Viva!
fonte
Você precisa que os clientes possam alterar o endereço, já pensou em permitir que o cliente atualize dinamicamente seu próprio registro? Com o DNS dinâmico, você pode usar o registro A e o cliente pode alterar o registro conforme necessário. Demoraria um pouco de trabalho, mas você poderia cada subdomínio individual como uma zona separada para garantir que um cliente possa tocar apenas em sua própria zona.
Eu não tentei, mas o gnudip parece ser uma ferramenta de código aberto para facilitar as atualizações dinâmicas sem precisar lidar com a autenticação e configurar muitas zonas no servidor DNS.
fonte
Se os seus registros MX forem os mesmos para todos esses registros, você poderá tentar usar um DNAME para redirecionar XYZ.mywebservice.com para hosting.mywebservice.com. Em hosting.mywebservice.com, adicione seus registros MX e A relevantes.
Devo dizer que nunca utilizei registros DNAME na produção, mas você pode ler mais sobre eles no RFC2672 .
fonte
O RHS do CNAME customer.mywebservice.com possui uma entrada MX?
Nesse caso, o servidor de correio usará esse MX para encontrar o servidor a ser usado. Espero que você possa controlar isso.
fonte
A resposta de Michael Gorsuch está amplamente correta, a cadeia CNAME -> A + MX funciona ... principalmente . No entanto, ele desencadeia algum mau comportamento em certos MTAs. O que eu achei executando esta solução em uma quantidade decente de escala:
Ainda não está claro quão difundidos são esses problemas (google / hotmail / yahoo / etc, todos parecem lidar com isso corretamente), mas eles certamente nos fazem procurar melhores soluções.
fonte
Uma solução possível e válida seria criar um nome de host básico para todos os seus clientes e configurá-lo para o registro a e aaaa do servidor da web externo e do seu mx, depois CNAME todos os domínios de seus clientes para esse único nome de host. Dessa forma, você precisará alterar apenas um registro quando o endereço IP externo do site for alterado.
É a única maneira possível e valiosa, pois CNAME é um alias para um conjunto completo de registros, não apenas um.
fonte
MX e CNAME são registros completamente separados - o primeiro determina o servidor de email para um determinado domínio, o segundo fornece o endereço para um domínio. Isso deve funcionar:
fonte