Como configurar corretamente o DNS para 2 servidores: um para web e outro para mails?

Como configurar corretamente o DNS para 2 servidores: um para web e outro para mails?

Para servidor de e-mail eu uso iredmail. Eu tenho um servidor de e-mail com as próximas configurações:

# /etc/hostname
mail

# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost

então FQDN é mail.mydomain.com.

AquiEncontrei exemplos que usei, mas com esses exemplos meu servidor conseguia enviar emails, mas não conseguia receber:

Type     Name                Value                                  TTL
A         @                  195.201.40.1                           1 hour  # Web server
A         mail               195.201.40.2                           1 hour  # Mail server
MX        @                  mail.mydomain.com (Priority: 10)       1 hour
TXT       @                  v=spf1 ip4:195.201.40.2 -all           1 hour
TXT       @                  v=DMARC1; p=reject; sp=reject;...      1 hour
TXT       _adsp._domainkey   dkim=all
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...

Então eu mudei:

MX        @   mail.mydomain.com (Priority: 10)  1 hour

para

MX        mail    mail.mydomain.com (Priority: 10)  1 hour

e o servidor de email começou a receber emails.

Tenho dois blocos de perguntas:

1) Pelo que entendi, serviços de e-mail externos (por exemplo, gmail) enviam e-mails para mydomain.com, não para mail.mydomain.com, porque meu endereço de e-mail se parece [email protected]e não com [email protected]. Por que mudar @para mailresolver o problema de recebimento de e-mails?

Entendo o registro MX @ mail.mydomain.comcomo: "serviço de e-mail externo, se você enviar e-mail para[e-mail protegido](@ = mydomain.com) e envie um e-mail para o servidor com FQDN mail.mydomain.com", mas minha lógica parece não funcionar. Por quê?

Aquipodemos ver que o nome do host pode ter @um FQDN diferente. Por que no meu caso não funciona?

2) Para registros TXT, qual nome devo fornecer? @ou mail, ou seja, nome de domínio ou nome de host? Se mail, isso significa que se eu tiver 10 servidores de e-mail, para todos eles precisarei fazer seus próprios registros TXT?

Responder1

Traduzi seus registros DNS para o formato bind. A menos que você esteja alterando uma entrada, não será necessário especificar o TTL de uma entrada.

Converti os registros SPF para o formato mais simples. A Aregra para o mailregistro é para -heloverificações SPF. A regra wwwindica que nenhum email deve ser enviado do wwwsubdomínio.

Seguem entradas para seu domínio e subdomínios. (Observe o ponto no final do registro MX. Se estiver faltando, você deve apenas usar mail).

 @       IN  A    195.201.40.1
         IN  MX   mail.mydomain.com.
         IN  TXT  "v=spf1 mx -all"

Serviços padrão de correio e www (alguns navegadores tentarão www mesmo que não seja fornecido na entrada).

 mail    IN  A    195.201.40.2 
         IN  TXT  "v=spf1 a -all"
 www     IN  A    195.201.40.1 
         IN  TXT  "v=spf1 -all"

Configuração para DMARC com relatórios. Até que os relatórios indiquem que você não tem problemas, eu não usaria uma rejectpolítica. Você pode querer começar com nonesua política.

 _dmarc  IN  TXT  "v=DMARC1; p=reject; sp=reject;..."
 *._report.dmarc  IN TXT "v=DMARC1"

Configuração para DKIM. _adspnão parece mais estar no caminho dos padrões. Substitua dkimpelo nome da chave que você usa ao assinar.

 _adsp._domainkey IN  TXT dkim=all
 dkim._domainkey  IN  TXT  v=DKIM1; k=rsa; p=MIGfMA0GCSq...

Responder2

1) O e-mail será enviado para o nome do host especificado no registro MX da parte do nome do host do endereço de e-mail. Por exemplo, quando o correio é enviado para[e-mail protegido], ocorre o seguinte:

Um dos registros MX configurados é obtido para gmail.com:

# dig mx gmail.com +short | head -n 1
5 gmail-smtp-in.l.google.com.

O email é entregue no endereço IP do servidor de email correspondente:

# dig gmail-smtp-in.l.google.com +short
173.194.221.27

No seu caso, não está claro como o problema foi resolvido, pois a configuração inicial parece boa. Tente verificar qual servidor MX é responsável pelo seu nome de domínio e a qual endereço IP ele se refere usando DNS público:

# dig mx mydomain.com @8.8.8.8 +short
mail.mydomain.com
# dig mail.mydomain.com @8.8.8.8 +short

2) O nome de domínio (sem mail.parte) deve ser fornecido para registro SPF. Quanto ao DKIM e DMARC, os prefixos também devem ser adicionados ao nome de domínio (sem mail.parte), por exemplo:

TXT       _dmarc             v=DMARC1; p=reject; sp=reject;...
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...

informação relacionada