Como gerenciar corretamente vários hosts virtuais com postfix?

1

Estou tentando configurar corretamente um servidor de postfix para nossos produtos por alguns dias. O servidor está funcionando corretamente, mas alguns e-mails enviados para o gmail são entregues na caixa de spam. O servidor está configurado assim:

/etc/postfix/main.cf

mydomain = example.com
myhostname = example.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, example.com, example.org, example.net
virtual_alias_domains = example.org, example.net
virtual_alias_maps = hash:/etc/postfix/virtual

/etc/postfix/master.cf

587      inet  n       -       n       -       -       smtpd -v
smtp      inet  n       -       n       -       -       smtpd -v

/ etc / postfix / virtual

[email protected]  user1
[email protected]  user2
[email protected]  user3

[email protected]  user1
[email protected]  user2
[email protected]  user3
[email protected]  user4

[email protected]  user2

Minha regra SPF de trabalho é 10.0.0.1 é um IP falso para example.com e é aplicada a example.com, example.net e example.org: v = spf1 mx ip4: 10.0.0.1 ~ todos

Configurei o MX DNS, o rDNS, o SPF e estava tudo bem e funcionando. E somente usuários autenticados podem enviar e-mail através deste servidor.

Então, aqui está o problema, se um e-mail de [email protected] for enviado (o mesmo que mydomain e myhostname), o e-mail será enviado para a caixa de entrada. Se eu enviar o e-mail de [email protected], o e-mail será enviado para a caixa de spam.

Olhando os cabeçalhos do e-mail, a diferença é:

aquele que chega na caixa de spam

Received: from example.com (mail.example.com. [10.0.0.1])
        by mx.google.com with ESMTP id e69si1483476yhm.50.2013.03.07.06.42.23;
        Thu, 07 Mar 2013 06:42:23 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 10.0.0.1 as permitted sender) client-ip=10.0.0.1;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of [email protected] designates 10.0.0.1 as permitted sender) [email protected]
Received: from new-host-5.home (177.205.99.64.dynamic.adsl.gvt.net.br [177.205.99.64])
    by example.com (Postfix) with ESMTP id 7EAB2D186F
    for <[email protected]>; Thu,  7 Mar 2013 09:42:22 -0500 (EST)
From: User3 <[email protected]>

aquele que chega na caixa

Received: from example.com (mail.example.com. [10.0.0.1])
        by mx.google.com with ESMTP id a30si1434990yhm.294.2013.03.07.06.45.39;
        Thu, 07 Mar 2013 06:45:39 -0800 (PST)
Received-SPF: pass (google.com: domain of [email protected] designates 10.0.0.1 as permitted sender) client-ip=10.0.0.1;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of [email protected] designates 10.0.0.1 as permitted sender) [email protected]
Received: from new-host-5.home (177.205.99.64.dynamic.adsl.gvt.net.br [177.205.99.64])
    by example.com (Postfix) with ESMTP id A55BCD186F
    for <[email protected]>; Thu,  7 Mar 2013 09:45:38 -0500 (EST)
From: User3 <[email protected]>

Eu tentei usar o transporte para alterar o email de saída para enviar cada um através de seu ip, mas sem sorte. Aqui estão minhas configurações de transporte (tentei com nome e ip também):

example.com  smtp:10.0.0.1:25
example.net  smtp:10.0.0.2:25
example.org  smtp:10.0.0.3:25

Alguém tem alguma ideia de como resolver isso? Eu acho que se eu pudesse definir a saída de [email protected] através de mail.example.net e não mail.example.com, este problema será resolvido. Obrigado.

A configuração de DNS dos 3 IPs é muito parecida, como você pode ver abaixo:

example.com A 10.0.0.2
example.com MX 10 mail.example.com
example.com TXT v=spf1 mx ip4:10.0.0.1 ~all
mail.example.com A 10.0.0.1
mail.example.com MX 1 mail.example.com
mail.example.com TXT v=spf1 mx ip4:10.0.0.1 ~all

example.net A 10.0.0.1
example.net MX 10 mail.example.net
example.net TXT v=spf1 mx ip4:10.0.0.1 ~all
mail.example.net A 10.0.0.2
mail.example.net MX 1 mail.example.net
mail.example.net TXT v=spf1 mx ip4:10.0.0.1 ~all

example.org A 10.0.0.3
example.org MX 10 mail.example.org
example.org TXT v=spf1 mx ip4:10.0.0.1 ~all
mail.example.org A 10.0.0.3
mail.example.org MX 1 mail.example.org
mail.example.org TXT v=spf1 mx ip4:10.0.0.1 ~all

Além disso, tenho essas interfaces

10.0.0.1: eth0
10.0.0.2: eth0.1
10.0.0.3: eth0.2

Estas são as configurações do rDNS criadas pelo meu provedor:

10.0.0.1 - example.com
10.0.0.2 - example.net
10.0.0.3 - example.org

Eu pedi para ter:

10.0.0.1 - example.com, example.net, example.org

Mas ele disse que isso poderia levar a problemas na identificação do meu servidor de e-mail. Ele gostaria de agir como um balanço de carga, entregando um diferente no tempo.

Atualizei meu /etc/postfix/master.cf da seguinte forma:

example.com:smtp      inet    n       -       n       -       -       smtpd -o myhostname=example.com
example.com:587       inet    n       -       n       -       -       smtpd -o myhostname=example.com
example.net:smtp      inet    n       -       n       -       -       smtpd -o myhostname=example.net -o smtp_bind_address=10.0.0.2
example.net:587       inet    n       -       n       -       -       smtpd -o myhostname=example.net -o smtp_bind_address=10.0.0.2
example.org:smtp      inet    n       -       n       -       -       smtpd -o myhostname=example.org -o smtp_bind_address=10.0.0.3
example.org:587       inet    n       -       n       -       -       smtpd -o myhostname=example.org -o smtp_bind_address=10.0.0.3

O postfix parece ignorar o -o smtp_bind_address = 10.0.0.2 porque ele continua entregando mensagens por meio de 10.0.0.1.

    
por Gardner 07.03.2013 / 16:34

1 resposta

1

O problema é que o postfix está usando 10.0.0.1 para todos os seus e-mails. Isso em si não é um problema, pois você pode adicionar facilmente vários domínios virtuais apontando para o mesmo IP.

Basicamente eu mudaria os registros para example.org, etc dessa maneira.

example.org A 10.0.0.3 e example.org MX 10 mail.example.org e mail.example.org CNAME mail.example.com

Dessa forma, seu registro SPF será válido, e o registro MX, um registro para o servidor de email, etc, corresponderá ao IP correto.

Ou seja, a menos que você tenha algum outro motivo para usar vários IPs.

    
por 07.03.2013 / 18:13