nginx ESMTP - проблема (?)

2013-08-08 Thread Night Romantic
Всем доброго дня!

Столкнулся с проблемой, которая *может быть* связана с использованием nginx
в качестве ESMTP proxy (не уверен, что дело в nginx).

Предыстория:

Провайдер почты конторы, где я работаю, судя по всему, использует nginx
ESMTP proxy на серверах входящей почты.
Письма от одного из заказчиков нам не доставляются, "отлуп" выглядит так:
500 5.5.1 Invalid command. Отлуп получается в ответ на HELO <имя_сервера>.
Заказчик использует свой почтовый сервер, работающий на Windows Server. 
Общение с техподдержкой провайдера никаких результатов не даёт.

Симптомы проблемы:

Подключаюсь к почтовому серверу провайдера с помощью телнета, пытаюсь
"вручную" написать себе письмо, передавая серверу стандартные SMTP команды.
Из линукс - всё работает, как и должно, проблем не вижу.

Из Винды - с помощью telnet.exe - вижу 500 5.5.1 Invalid command в ответ на
любую команду, а также на нажатие клавиши [пробел] и [точка].
T.e. введя [enter] вижу:

helo 500 5.5.1 Invalid command
mx.500 5.5.1 Invalid command
test.500 5.5.1 Invalid command
com
500 5.5.1 Invalid command

(на [пробел] "отлуп", на каждую точку "отлуп", и на нажатие [enter] --
контрольный в голову, видимо ;-)


Делаю то же самое с помощью putty -- ситуация получше, и тестовое письмо
отправить удаётся, но всё равно есть странности.
Вот я подключился, ввёл "helo" (специально без имени сервера-отправителя),
затем ввёл quit:

helo
500 5.5.1 Invalid command
quit
500 5.5.1 Invalid command

Делаю то же из линукс:

helo
501 5.5.4 Invalid argument
quit
221 2.0.0 Bye
Connection closed by foreign host.

Почувствуйте разницу, что называется.


Предполагаю, что при попытке отправить письмо с почтового сервера заказчика
(который живёт на Винде) происходит примерно то же самое, что я наблюдаю в
телнет-сессии.

Кривизна Винды вообще и telnet.exe тут не при чём, потому как телнет-сессии
при помощи telnet.exe с mail.ru, yandex.ru (не знаю, что за ПО они
используют), с серверами Postfix и Exim и вообще со всеми, кого я только ни
пробовал -- проходят без проблем. Предполагаю, что дело именно в настройках
серверов входящей почты (в nginx или нижележащей ОС - не знаю).

А вот rambler.ru, по-видимому, использует ту же схему, что и мой хостер -- и
с теми же самыми симптомами. Ещё предполагаю, что используемая ОС в обоих
случаях -- FreeBSD (точно не знаю).

Сервера, на которых можно увидеть вышеописанное поведение:
моего хостера: mxs.ht-systems.ru (78.110.50.88, 78.110.50.89)
рамблера: imx1.rambler.ru, imx2.rambler.ru (81.19.66.234, 81.19.66.235)


Поиск в Интернете по описанной проблеме (с самыми различными вариантами
запросов) ответа не дал, зато сложилось впечатление, что использование nginx
в качестве ESMTP proxy -- это некая экзотика. Так ли это, уважаемые
пользователи nginx? Использует ли кто-то nginx в названном качестве, и если
да, воспроизводима ли проблема на вашем сервере?


С уважением,
Алексей

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241708,241708#msg-241708

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx ESMTP - проблема (?)

2013-08-08 Thread Night Romantic
Никакой разницы в поведении с HELO:
подключаюсь из Линукс - получаю нормальные ответы, подключаюсь из Винды:
вижу в ответ Invalid Command

Роман Москвитин Wrote:
---
> В качестве предложения: а если попробовать использовать EHLO?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241708,241725#msg-241725

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx ESMTP - проблема (?)

2013-08-09 Thread Night Romantic
И в винде, и в Линукс в конце строки \r\n

В wireshark Виндовой сессии бросается в глаза, что каждый пакет от меня
имеет неверную контрольную сумму:
Header checksum: 0x [incorrect, should be 0x68b3 (may be caused by "IP
checksum offload"?)]


Daniel Podolsky Wrote:
---
> а поглядите, действительно, на сессию в снифере. наверняка дело в
> конце строки, винда шлет \r\n, а положено \n.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241708,241727#msg-241727

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx ESMTP - проблема (?)

2013-08-09 Thread Night Romantic
> 1. Посмотрите для начала с помощью tcpump/wireshark что реально
> передает 
> по сети этот telnet.exe

Как написал в ответ на другой пост, первое, что бросается в глаза -- большая
фрагментация и неправильная контрольная сумма у каждого пакета из Винды:
Header checksum: 0x [incorrect, should be 0x68ae (may be caused by "IP
checksum offload"?)]

Если поделюсь соответствующими кусочками дампов - это поможет? Сам не
большой специалист.

> 2. Есть подозрение, что helo и mx. отправляются в разных ip-пакетах, а
> данная реализация smtp получив данные из syscall read() сразу пытается
> их обработать как команду, не дожидаясь CR LF. И вряд ли так делает
> nginx.

Вот это очень похоже на правду (нажал пробел, точку или цифру - тут же
увидел в ответ Invalid Command), ещё до нажатия enter (и генерации cr lf).

Насчёт реализации smtp. Если nginx используется в качестве ESMTP - ответы на
мои smtp команды я получаю от него -- или от того, что "ниже", так сказать?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241708,241728#msg-241728

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx ESMTP - проблема (?)

2013-08-11 Thread Night Romantic
Anton Yuzhaninov Wrote:
---
> Отличие линуксового телнета от виндового похоже в то, что линуксовый 
> шлет команду через один syscall и как следствие это уходит в одном IP 
> пакете.
> Но если удаленная сторона не понимает команду пришедшую в нескольких 
> пакетах, то это баг. Может там и правда Cisco PIX или что то
> аналогичное по функциям.

Техподдержка ответила на вопрос о том, какой софт используется.
О/с - freebsd 7
MTA - exim 4.69
nginx и в самом деле используется в качестве ESMTP proxy (т. е. описанное
поведение *может* оказаться багом именно nginx).

Именно PIX они не используют, попросил уточнить про аналоги, ответят -
отпишусь.

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241708,241771#msg-241771

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: nginx ESMTP - проблема (?)

2013-08-11 Thread Night Romantic
Спасибо за идею/информацию. Спросил, именно PIX они не используют, уточню
насчёт аналогов. Доступа к дебагу у меня нет, т. к. сервак провайдера, а они
не хотят этим заниматься, отписываются, что у них всё хорошо, а проблема на
нашей стороне))

kornel Wrote:
---
> У меня была очень похожая проблема была при использовании PIX
> файрвола.
> Он вмешивался в сессию и резал всё, что хоть немного отличалось, в
> его
> понимании, от идеальной smtp сессии. Разобраться смог только дебажа
> входящий на tcp/25 на сервере.
> 
> ~~~
> wbr, Alexander Uskov

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,241708,241772#msg-241772

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru