Назад | Перейти на главную страницу

Проблема цикла SMTP с HAProxy и Exim

Я установил сервер HAProxy, который передает все электронные письма на мой почтовый сервер. Это было сделано в целях безопасности.

Внешние IP-адреса:

Proxy server (HAProxy 1.3.26): 192.168.0.1
Mail server (Exim 4.63): 192.168.0.2
Both servers are CentOS 5.8.

Вот часть моей конфигурации HAProxy:

defaults
    mode        tcp
    log         global
    option      dontlognull
    option      httpclose
    option      tcplog
    option      forwardfor
    option      redispatch
listen smtp 192.168.0.1:25
    server mail0 192.168.0.2:25 maxconn 5000
listen imap 192.168.0.1:143
    server mail0 192.168.0.2:143 maxconn 5000

Вот в чем проблема:

2012-09-13 22:47:04 1TCERM-0000aP-1A => admin@example.com R=dnslookup T=remote_smtp H=example.com [192.168.0.1] X=TLSv1:AES256-SHA:256 DN="/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=example.com/emailAddress=webmaster@example.com" C="250 OK id=1TCERM-0000aS-IJ"
2012-09-13 22:47:04 1TCERM-0000aP-1A Completed
2012-09-13 22:47:04 1TCERM-0000aS-IJ ** admin@example.com: Too many "Received" headers - suspected mail loop
2012-09-13 22:47:04 1TCERM-0000aU-KD <= <> R=1TCERM-0000aS-IJ U=exim P=local S=9409 from <> for test@example.net
2012-09-13 22:47:04 1TCERM-0000aS-IJ Completed

В журналах eximʻa есть ряд таких записей. Вы видите, что я отправляю с test@example.net на admin@example.com. Электронное письмо получено сервером HAProxy и передано на почтовый сервер через прокси. Проблема в том, что электронное письмо впоследствии зацикливается. И я не могу понять, в чем проблема.

Запись MX моего домена example.com указывает на 192.168.0.1. Почтовые ящики были созданы на сервере 192.168.0.2.

Вот часть заголовка возвращенного письма (эти разделы повторяются много раз):

Получено: от example.com ([192.168.0.1] helo = example.com) от dc.example.com с esmtps (TLSv1: AES256-SHA: 256) (Exim 4.63) (исходный конверт) id 1TCDdv-0007PI-Jf для root@dc.example.comt; Чт, 13 сентября 2012 г. 21:55:59 +0400 Получено: от example.com ([192.168.0.1]) от dc.example.com с smtp (Exim 4.63) (от конверта) или root@dc.example.comt ; Чт, 13 сен 2012 21:55:59 +0400 test1

Буду очень признателен, если мне кто-то поможет в этом вопросе. Дайте мне знать, если вам понадобятся какие-то подробности, логи и т. Д.

это потому, что вы забыли настроить локальную доставку для домена! в результате...

почта, отправляемая в домен, проходит через прокси / брандмауэр на целевой / локальный сервер, а затем с целевого / локального сервера возвращается на прокси / сервер брандмауэра, потому что exim с этим доменом использует удаленную доставку почты и проверяет записи mx, которые указывают на брандмауэр! и вот почему вы получаете петлю!

как всегда жалко моего "русского" :))