O envio de e-mails ao usar um CNAME para raiz do domínio e balanceamento de carga

2

Recentemente, nos mudamos para o EC2 e começamos a usar o elb da amazon para balanceamento de carga. Estamos usando CloudFlare para DNS, o que nos permite usar um cname na raiz do domínio. No entanto, ocasionalmente, as pessoas nos dizem que nossos e-mails estão pulando com alguma variação do seguinte erro:

[email protected] ... Adiada: Conexão recusada pelo nosso-production-loadbalancer.elb.amazonaws.com.

Estamos usando o google apps for mail e nossos registros MX estão configurados corretamente, por isso não sei ao certo em que ponto os clientes ou servidores de e-mail estão tentando resolver nosso domínio e recebendo o registro cname.

Alguém entende por que os registros MX seriam ignorados? Isso é resultado do uso de um CNAME? Eu imagino que a mesma coisa poderia / aconteceria se apontássemos um registro A em um endereço IP que também não estivesse aceitando e-mail.

    
por Jonathan7413 06.10.2011 / 18:14

3 respostas

2

Se você tem um domínio example.invalid :

; example.invalid
$TTL    604800
@       IN      SOA     ns1.example.invalid. root.example.invalid. (
                     2006020201 ; Serial
                         604800 ; Refresh
                          86400 ; Retry
                        2419200 ; Expire
                         604800); Negative Cache TTL
;
@       IN      NS      ns1
        IN      MX      10 mail
        IN      CNAME   anotherdomain.invalid

Você está dizendo:

Hey, you can find example.invalid under whatever address anotherdomain.invalid can be found. And btw, any MX records SRV records or other stuff for example.invalid is also whatever anotherdomain.invalid tells you. That means Mail sent to example.invalid will use the MX record of anotherdomain.invalid

Referências:

por 06.10.2011 / 18:38
1

Por RFC1034§3.6.2

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.

Assim, se você tem um CNAME configurado em example.com , então é o único registro que você pode ter configurado lá. Todos os registros que pertencem a esse domínio devem estar sob o alias.

Por exemplo. Se você tiver example.com IN CNAME acme.hosting-co.com , seus registros NS, SOA, MX, etc. deverão estar todos abaixo de acme.hosting-so.com . Eles podem não estar abaixo de example.com .

Além disso, se nenhum registro MX for encontrado para um domínio, o registro A desse domínio poderá ser tentado como último recurso. Portanto, um MTA que funcione corretamente deve procurar seu domínio, localizar o CNAME, tentar o alias, não encontrar um registro MX nesse local, tentar o registro A em seu lugar (seu balanceador de carga, neste caso). Seu balanceador de carga aparentemente não é capaz de receber e-mail.

O MTA com falha está realmente se comportando corretamente. Quaisquer MTAs que encontrem seu servidor de e-mail não são.

    
por 06.10.2011 / 18:45
1

Suponho que você tenha o CNAME do balanceador marcado com uma nuvem laranja nas configurações de DNS no CloudFlare? Se assim for, você deve acessar & mude a nuvem de laranja para cinza para esse registro CNAME.

    
por 31.10.2011 / 21:47