Substituindo um registro MX por um CNAME que não corresponde ao nome do host

4

Hoje, temos cinco empresas que usam o Google para serviços de e-mail

example1.com.         3w   IN      MX  10   mail.Google.com.
example2.com.         3w   IN      MX  10   mail.Google.com.
example3.com.         3w   IN      MX  10   mail.Google.com.
example4.com.         3w   IN      MX  10   mail.Google.com.
example5.com.         3w   IN      MX  10   mail.Google.com.

Na próxima semana, usaremos outro fornecedor (Cisco). Está certo para nós apontar para um A ou CNAME no MX?

example1.com.         3w   IN      MX  10   myCNAMEToCisco.example.com.
example2.com.         3w   IN      MX  10   myCNAMEToCisco.example.com.
example3.com.         3w   IN      MX  10   myCNAMEToCisco.example.com.
example4.com.         3w   IN      MX  10   myCNAMEToCisco.example.com.
example5.com.         3w   IN      MX  10   myCNAMEToCisco.example.com.

A ideia é que eu possa alterar myCNAMEToCisco.example.com para qualquer outro fornecedor. Minha preocupação é que pode haver alguma validação estranha quando o cliente diz helo domain.com e a resposta 220 pode conter um host inesperado ou nome de domínio.

Existe algum problema em usar um registro CNAME ou A com e-mail dessa maneira?

    
por random65537 12.03.2015 / 06:41

1 resposta

18

Isso criaria um problema se você apontasse seus registros MX em CNAME registros, pois é contra os padrões. A explicação mais clara é fornecida por RFC2181 §10.3 :

10.3. MX and NS records

The domain name used as the value of a NS resource record, or part of the value of a MX resource record must not be an alias. Not only is the specification clear on this point, but using an alias in either of these positions neither works as well as might be hoped, nor well fulfills the ambition that may have led to this approach. This domain name must have as its value one or more address records. Currently those will be A records, however in the future other record types giving addressing information may be acceptable. It can also have other RRs, but never a CNAME RR.

Searching for either NS or MX records causes "additional section processing" in which address records associated with the value of the record sought are appended to the answer. This helps avoid needless extra queries that are easily anticipated when the first was made.

Additional section processing does not include CNAME records, let alone the address records that may be associated with the canonical name derived from the alias. Thus, if an alias is used as the value of an NS or MX record, no address will be returned with the NS or MX value. This can cause extra queries, and extra network burden, on every query. It is trivial for the DNS administrator to avoid this by resolving the alias and placing the canonical name directly in the affected record just once when it is updated or installed. In some particular hard cases the lack of the additional section address records in the results of a NS lookup can cause the request to fail.

Você pode encontrar provas por meio de mecanismos de pesquisa que alguns DNS e MTA suportam, mas isso deve ser considerado a exceção e não a regra. A falta deste suporte não será considerada um erro pela maioria dos autores de software. Sempre evite apontar um registro MX em CNAME .

O maior problema que você enfrenta agora é que o TTL para os registros MX em seu exemplo são de três semanas e sua alteração é na próxima semana . Eu recomendo strongmente que você solicite que essa troca seja atrasada e diminua seus TTLs para algo em torno de dez minutos. Você pode aumentar o TTL novamente quando a transição estiver completa.

    
por 12.03.2015 / 06:51