URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4002
[ Назад ]

Исходное сообщение
"iptables VS Postfix. Не уходят письма во внешку."

Отправлено toshkin , 03-Окт-08 15:10 
Добрый день, уважаемые спецы.
Проблема в следующем:
Настроил почтовый сервер на базе доменного имени domain.ru (Postfix, FreeBSD).
Прием почты работает, отправка писем на локальные ящики работает, но во внешку почта не отправляется.

В логах Postfix при отправке письма следующая запись (пускай отправляем на test@yandex.ru, с любым внешним ящиком одина проблема):

23:03:25 mailserver postfix/qmgr[16171]: 459745D09: from=<anton@domain.ru>, size=678, nrcpt=1 (queue active)
23:03:28 mailserver postfix/smtp[19936]: connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused
23:03:28 mailserver postfix/smtp[19936]: 459745D09: to=<test@yandex.ru>, relay=none, delay=17216, delays=17213/0.04/3/0, dsn=4.4.1, status=deferred (connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused)

Архитектура сети такая:
Есть сайт www.domain.ru, который располагается на сервере провайдера. Есть наш шлюз с iptables(внешний адрес: 87.249.x.x, внутренний адресс 192.168.0.9) и есть настроенный почтовый сервер на FreeBSD(192.168.0.4).
Провайдер сделал перенаправление с domain.ru на наш 87.249.x.x по 25 и 110 порту.
На 87.249.x.x с помощью iptables сделан NAT по 25 и 110 порту.
Вот правила, касающиеся 25 и 110 портов:

(прием и отправка почты не с нашего почтового сервера)
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 25 -j ACCEPT # SMTP
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 25 -j ACCEPT # SMTP

(NAT 110 порта на наш почтовый сервер)
$IPTABLES -t nat -A PREROUTING -p tcp --dst 87.249.236.2 --dport 110 -j DNAT --to-destination 192.168.0.4:110
$IPTABLES -t nat -A OUTPUT -p tcp --dport 110 -j DNAT --to-destination 192.168.0.4:110

(NAT 25 порта)
$IPTABLES -t nat -A PREROUTING -p tcp --dst 87.249.236.2 --dport 25 -j DNAT --to-destination 192.168.0.4:25
$IPTABLES -t nat -A OUTPUT -p tcp --dport 25 -j DNAT --to-destination 192.168.0.4:25

(Маскарадинг)
$IPTABLES -A FORWARD --dst 192.168.0.4 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o eth1 --dst 192.168.0.4 -j MASQUERADE

(?)
$IPTABLES -A OUTPUT -p TCP -s 0/0 --dport 110 -j ACCEPT
$IPTABLES -A OUTPUT -p TCP -s 0/0 --dport 25 -j ACCEPT


Пробую команду:
telnet mx2.yandex.ru 25

На шлюзе 87.249.х.х эта команда работает на ура.
Пробую эту же команду на почтовом сервере 192.168.0.4:

telnet mx2.yandex.ru 25
Trying 93.158.134.89...
telnet: connect to address 93.158.134.89: Connection refused
telnet: Unable to connect to remote host


Судя по логам постфикса при отправке письма оно доходит до адреса назначения, но там почему-то застревает.
Не могу понять, кто виноват (Postfix, iptables, а может провайдер?)
Очень прошу помощи, затрачено уже очень много сил и времени, обидно будет не доделать.
Хотя бы помогите разобраться в какую сторону копать...


Содержание

Сообщения в этом обсуждении
"iptables VS Postfix. Не уходят письма во внешку."
Отправлено gab , 03-Окт-08 16:01 
>telnet mx2.yandex.ru 25
>Trying 93.158.134.89...
>telnet: connect to address 93.158.134.89: Connection refused
>telnet: Unable to connect to remote host

С чего вы взяли, что оно где застревает, просто нет конекта по сети, проверяйте фаервол или переброс провайдера.


"iptables VS Postfix. Не уходят письма во внешку."
Отправлено toshkin , 03-Окт-08 16:16 
>С чего вы взяли, что оно где застревает, просто нет конекта по
>сети

В логах Postfix при отправке письма следующая запись (пускай отправляем на test@yandex.ru, с любым внешним ящиком одина проблема):

23:03:25 mailserver postfix/qmgr[16171]: 459745D09: from=<anton@domain.ru>, size=678, nrcpt=1 (queue active)
23:03:28 mailserver postfix/smtp[19936]: connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused
23:03:28 mailserver postfix/smtp[19936]: 459745D09: to=<test@yandex.ru>, relay=none, delay=17216, delays=17213/0.04/3/0, dsn=4.4.1, status=deferred (connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused)

Т.е. письмо почему то не проходит через mx2.yandex.ru. Большой вопрос почему?


>проверяйте фаервол

что именно проверять. Судя опять же логам, письмо прошло через наш фаервол нормально.

>или переброс провайдера

как это сделать?


"iptables VS Postfix. Не уходят письма во внешку."
Отправлено toshkin , 06-Окт-08 14:21 
Неужели ни у кого нет никаких мыслей? Help.......

"iptables VS Postfix. Не уходят письма во внешку."
Отправлено gab , 06-Окт-08 16:48 
Вы делаете не верный вывод:
>23:03:28 mailserver postfix/smtp[19936]: connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused

Ваш сервер не смог соединится на 25 порт к яндексу.

После чего отложил письмо и присвоил ему статус deferred.
>23:03:28 mailserver postfix/smtp[19936]: 459745D09: to=<test@yandex.ru>, relay=none, delay=17216, delays=17213/0.04/3/0, dsn=4.4.1, status=deferred (connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused)


"iptables VS Postfix. Не уходят письма во внешку."
Отправлено toshkin , 07-Окт-08 07:58 
>Вы делаете не верный вывод:
>>23:03:28 mailserver postfix/smtp[19936]: connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused
>
>Ваш сервер не смог соединится на 25 порт к яндексу.
>
>После чего отложил письмо и присвоил ему статус deferred.
>>23:03:28 mailserver postfix/smtp[19936]: 459745D09: to=<test@yandex.ru>, relay=none, delay=17216, delays=17213/0.04/3/0, dsn=4.4.1, status=deferred (connect to mx2.yandex.ru[93.158.134.89]:25: Connection refused)

Странно, но команда
telnet mail.провайдер.ru 25
работает нормально.
Скорее всего закрыт 25 порт во внешнюю сеть у провайдера для нашего ip. Пошел звонить.