Entendo que você não deve apontar um registro MX diretamente para um endereço IP, mas , em vez disso, apontá-lo para um A
registro que, por sua vez, aponta para o endereço IP do seu servidor de correio.
Mas, em princípio, por que isso é necessário?
Entendo que você não deve apontar um registro MX diretamente para um endereço IP, mas , em vez disso, apontá-lo para um A
registro que, por sua vez, aponta para o endereço IP do seu servidor de correio.
Mas, em princípio, por que isso é necessário?
A ideia por trás do registro MX é especificar um host ou hosts que podem aceitar e-mail para um domínio. Conforme especificado no RFC 1035 , o registro MX contém um nome de domínio. Deve, portanto, apontar para um host que pode ser resolvido no DNS. Um endereço IP não pode ser usado, pois seria interpretado como um nome de domínio não qualificado, que não pode ser resolvido.
As razões para isso na década de 1980, quando as especificações foram originalmente escritas, são quase as mesmas de hoje: um host pode estar conectado a várias redes e usar vários protocolos.
Nos anos 80, não era incomum ter gateways de correio que conectavam tanto à (relativamente nova) Internet que usava TCP/IP quanto a outras redes legadas, que frequentemente usavam outros protocolos. A especificação de MX dessa maneira permitia registros DNS que poderiam identificar como acessar esse host em uma rede diferente da Internet, como Chaosnet . Na prática, porém, isso quase nunca aconteceu; praticamente todos redesenharam suas redes para se tornarem parte da Internet.
Hoje, a situação é que um host pode ser acessado por vários protocolos (IPv4 e IPv6) e por vários endereços IP em cada protocolo. Um único registro MX não pode listar mais de um endereço, portanto, a única opção é apontar para um host, onde todos os endereços desse host podem ser pesquisados. (Como uma otimização de desempenho, o servidor DNS enviará os registros de endereço para o host na seção adicional de resposta se tiver registros autorizados para eles, economizando uma viagem de ida e volta.)
Há também a situação que surge quando seus trocadores de e-mail são fornecidos por terceiros (por exemplo, Google Apps ou Office 365). Você aponta seus registros MX para seus nomes de host, mas pode ocorrer que o provedor de serviços precise alterar os endereços IP dos servidores de correio. Como você apontou para um host, o provedor de serviços pode fazer isso de forma transparente e você não precisa fazer nenhuma alteração em seus registros.
O DNS como um protocolo tem alguns tipos diferentes de valores, estes não são intercambiáveis.
É importante observar que o DNS é um protocolo binário com mapeamentos rígidos entre o tipo de registro e o tipo de dados que esse registro contém.
Por exemplo:
Um
A
registro contém um endereço IPv4 (4 bytes de dados, comprimento fixo).Um
AAAA
registro contém um endereço IPv6 (16 bytes de dados, comprimento fixo).Um
MX
registro, por outro lado, contém um nome (uma sequência de rótulos no formato<int number of bytes> <label> <int number of bytes> <label> <int 0>
, comprimento variável).Não é possível que um
MX
registro tenha um endereço IP como dado.Vou jogar isso fora como um palpite. Claro, estou em casa com gripe, então talvez eu esteja maluco.
A RFC 974 declara:
Ao exigir um nome em vez de IP, ele incentiva vigorosamente essa prática. Os nomes podem permanecer os mesmos e, no caso de balanceamento de carga ou DR, você não precisará se preocupar em alterar o próprio registro MX e aguardar a propagação do DNS.
Alguns servidores de e-mail (como exim) especificamente não permitem o envio de registros MX que apontam para um endereço IP puro, portanto, você deve usar um FQDN para que seja compatível. Isso ocorre porque a maioria dos servidores espera que o registro MX contenha um nome de host, não um IP (é para isso que servem os registros A).
Edit: Para elaborar, no DNS cada registro tem requisitos estritos para o tipo de dados que cada registro pode conter. No caso de registros MX, é apenas um nome de host .
IN RFC 1025 Os registros MX apontam apenas para um RR (resource record) de um A Record ou um CNAME.
Portanto, o servidor de email que envia o email solicita o RR de um registro MX, o registro mx lista os registros A dos servidores, o servidor de email faz uma pesquisa direta para obter um registro A e encaminha o email via smtp para o host de serviço listado como um servidor de correio 'disposto' a receber correio para esse domínio.
Sua pergunta - Por que o e-mail não pode ser enviado para um endereço IP
Resposta - Por causa da confiança
Muitas das regras em vigor em relação ao correio evoluíram para manter a confiança entre os domínios de que as mensagens enviadas e recebidas são realmente válidas. Tudo isso é para reduzir o SPAM.
Todos esses componentes essenciais para uma base para construir um servidor de correio têm pelo menos algum pequeno componente fundado na criação de comunicações confiáveis e na redução de comunicações não confiáveis.
Referência - RFC 1035 e 974
https://www.ietf.org/rfc/rfc1035.txt35
https://www.ietf.org/rfc/rfc974.txt
O objetivo dos
MX
registros é que um aplicativo (transferência de correio) possa aprender sobre o host a ser usado. No nível do aplicativo, os nomes de host são a coisa certa a se usar (não os endereços IP).Além disso, adicionar o conceito de registro de tipo variante ao DNS apresenta um nível de complicação e, portanto, um ponto de entrada para problemas, contratempos de implementação e desafios de segurança. Por exemplo,
1.2.3.4.example.com.
é um nome de host válido (sim, é, mesmo à luz do RFC1034, 3.5). Especificar este host comoMX
em um arquivo de configuração de ligação para example.com pode parecere presumivelmente é exatamente o mesmo que um registro MX com um IP deve ser. E mesmo para transferir a informação em um datagrama DNS requer alguns additoins peculiares; a maneira mais simples seria introduzir um novo tipo de registro de recurso,
MXA
digamos, para desambiguação. Mas, novamente, por que introduzir o fardo de um novo tipo de registro quandosempre pode ser substituído por
(e seria suportado também por clientes DNS que não conhecessem
MXA
os registros)?