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

Исходное сообщение
"Postfix. А должен ли он принимать почту в таком случае?"

Отправлено vel , 24-Фев-11 11:08 
Здравствуйте.
Есть работающий почтовый сервер на постфиксе.
Тут от нашего партнера не смогли получить письмо, стали выяснять в чем проблема. В логах только то, что отлуп идет по ошибке 451 4.3.5 Server configuration problem. Сервер то рабочий и как бы раньше таких проблем не было из-за нас, стали копать глубже, раз в логах нет толком нужного ответа сделали tcpdump и вот что увидели:
http://img202.imageshack.us/i/test1ax.jpg/
см. строчки 8 и 10.
в строке 8 видим, что удаленный сервер сразу в одной строчке указывает и mail from и rcpt to и data
Вот из-за этого в 10-й строчке наш сервер и дает отлуп.
Если идет все как обычно, т.е. сначала mail from, на что сервер отвечает ок, потом rcpt to, на что сервер отвечает ок, а потом data, то все проходить отлично.
В связи с этим возникает вопрос. Должен ли сервер принимать почту, когда с ним диалог происходит в таком режиме, как на скриншоте? И если должен, то что нужно для этого подправить в конфиге постфикса (конфиг могу выложить)?

Содержание

Сообщения в этом обсуждении
"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено mef , 24-Фев-11 11:23 
Конфигурация постфикса проходит в "ленивом" режиме. Т.е. пока некоторая строчка конфигурации не сработала, ошибки не выдаст. Исключая, конечно, синтаксические ошибки.
Конфиг в студию.

"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено xz , 24-Фев-11 11:28 
> Здравствуйте.
> Есть работающий почтовый сервер на постфиксе.

в приведенном дампе все корректно - вы сами адвертайсите PIPELINING, вам и суют 3 команды, так же прекрасно видно что "451 4.3.5 Server configuration problem." не последний ответ, последний ответ "no valid recipients", т.е. у вас проблема с валидацией пользователей, если он действительно существует


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 11:37 
>> Здравствуйте.
>> Есть работающий почтовый сервер на постфиксе.
> в приведенном дампе все корректно - вы сами адвертайсите PIPELINING, вам и
> суют 3 команды, так же прекрасно видно что "451 4.3.5 Server
> configuration problem." не последний ответ, последний ответ "no valid recipients", т.е.
> у вас проблема с валидацией пользователей, если он действительно существует

основная проблема  - это именно 451 4.3.5, no valid recipients - это уже следствие, т.к. rcpt to не было понято сервером.
с валидацией этого получателя проблем нет, на него почта приходит, если не сразу 3 команды суются, как вы выразились.

cat /usr/local/etc/postfix/main.cf | grep -v ^# | grep -v ^$
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
base = /usr/local/etc/postfix
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
myhostname = имя_сервера
mydomain = домен
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = unix:passwd.byname $alias_maps
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

  
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
debugger_command =
     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
     ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = /usr/local/share/doc/postfix
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = /usr/local/share/doc/postfix
smtpd_restriction_classes = greylisting
greylisting =
  check_sender_access hash:$base/greylisting_skip_senders
  check_client_access cidr:$base/greylisting_skip_hosts
  check_client_access pcre:$base/greylisting_skip
  check_policy_service inet:127.0.0.1:2525
smtpd_client_restrictions =    permit_mynetworks,
                permit_sasl_authenticated,
                check_client_access hash:$base/client_access,
                reject_unknown_client_hostname,
                check_client_access regexp:$base/regexp_client
smtpd_helo_restrictions =    check_helo_access hash:$base/hello_access,
                permit_mynetworks,
                permit_sasl_authenticated,
                reject_invalid_helo_hostname,
                reject_non_fqdn_helo_hostname,
                reject_unknown_helo_hostname,
                check_helo_access pcre:$base/helo_checks
smtpd_sender_restrictions =    permit_mynetworks,
                permit_sasl_authenticated,
                check_sender_access hash:$base/sender_access,
                reject_authenticated_sender_login_mismatch,
                reject_unknown_sender_domain,
                reject_unlisted_sender,
                reject_non_fqdn_sender,
                reject_rbl_client bl.spamcop.net,
                reject_rbl_client sbl-xbl.spamhaus.org,
                reject_unverified_sender
smtpd_recipient_restrictions =    permit_mynetworks,
                permit_sasl_authenticated,
                check_sender_access hash:$base/sender_reject_домен,
                reject_unauth_destination,
                check_recipient_access hash:$base/recipient_access,
                reject_unlisted_recipient,
                reject_unknown_recipient_domain,
                reject_non_fqdn_recipient,
                reject_unverified_recipient,
                check_client_access pcre:$base/greylisting.pcre
smtpd_data_restrictions =       reject_multi_recipient_bounce
smtpd_etrn_restrictions = reject
smtpd_reject_unlisted_sender = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
show_user_unknown_table_name = no
address_verify_sender = <>
unverified_sender_reject_code = 550
smtpd_helo_required = yes
smtp_always_send_ehlo = yes
smtpd_hard_error_limit = 8
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:$base/mysqlLookupMaps/sender.conf
virtual_alias_maps = mysql:$base/mysqlLookupMaps/alias.conf
virtual_mailbox_domains = mysql:$base/mysqlLookupMaps/domain.conf
virtual_mailbox_maps = mysql:$base/mysqlLookupMaps/mailbox.conf
virtual_mailbox_base = /var/spool/mail
virtual_mailbox_limit_maps = mysql:$base/mysqlLookupMaps/quota.conf
virtual_maildir_extended = yes
virtual_mailbox_limit_override = yes
virtual_create_maildirsize = yes
virtual_overquota_bounce = yes
message_size_limit = 50000000
delay_warning_time = 2h
virtual_gid_maps = static:2009
virtual_uid_maps = static:2009
virtual_minimum_uid = 1000
content_filter=smtp-amavis:[127.0.0.1]:10024

p.s. грейлистинг сейчас не работает, т.е. в конфиге он есть, но сам по себе gld сейчас не работает.


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено guest , 24-Фев-11 12:31 
попробуйте для начала grep warning: /var/log/maillog (или где он у вас)
100% там будет более детальная ругань.

PS: postconf -n гораздо информативней чем простыня которую вы вывалили



"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 12:44 
> попробуйте для начала grep warning: /var/log/maillog (или где он у вас)
> 100% там будет более детальная ругань.

Да нет там ничего криминального...
к почте относится только:
warning: connect to 127.0.0.1:2525: Connection refused
warning: problem talking to server 127.0.0.1:2525: Connection refused
но это к проблеме никаким боком относится не должно...

> PS: postconf -n гораздо информативней чем простыня которую вы вывалили

Если нужно - нет проблем:

address_verify_sender = <>
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
broken_sasl_auth_clients = yes
command_directory = /usr/local/sbin
config_directory = /usr/local/etc/postfix
content_filter = smtp-amavis:[127.0.0.1]:10024
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
debug_peer_level = 2
delay_warning_time = 2h
disable_vrfy_command = yes
html_directory = /usr/local/share/doc/postfix
inet_interfaces = all
local_recipient_maps = unix:passwd.byname $alias_maps
mail_owner = postfix
mailq_path = /usr/local/bin/mailq
manpage_directory = /usr/local/man
message_size_limit = 50000000
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = домен
myhostname = имя
mynetworks = 127.0.0.0/8
mynetworks_style = subnet
myorigin = $mydomain
newaliases_path = /usr/local/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = /usr/local/share/doc/postfix
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
setgid_group = maildrop
show_user_unknown_table_name = no
smtp_always_send_ehlo = yes
smtpd_banner = $myhostname ESMTP
smtpd_client_restrictions = permit_mynetworks,                permit_sasl_authenticated,                check_client_access hash:$base/client_access,                reject_unknown_client_hostname,                check_client_access regexp:$base/regexp_client
smtpd_data_restrictions = reject_multi_recipient_bounce
smtpd_etrn_restrictions = reject
smtpd_hard_error_limit = 8
smtpd_helo_required = yes
smtpd_helo_restrictions = check_helo_access hash:$base/hello_access,                permit_mynetworks,                permit_sasl_authenticated,                reject_invalid_helo_hostname,                reject_non_fqdn_helo_hostname,                reject_unknown_helo_hostname,                check_helo_access pcre:$base/helo_checks
smtpd_recipient_restrictions = permit_mynetworks,                permit_sasl_authenticated,                check_sender_access hash:$base/sender_reject_домен,                reject_unauth_destination,                check_recipient_access hash:$base/recipient_access,                reject_unlisted_recipient,                reject_unknown_recipient_domain,                reject_non_fqdn_recipient,                reject_unverified_recipient,                check_client_access pcre:$base/greylisting.pcre
smtpd_reject_unlisted_sender = yes
smtpd_restriction_classes = greylisting
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sender_login_maps = mysql:$base/mysqlLookupMaps/sender.conf
smtpd_sender_restrictions = permit_mynetworks,                permit_sasl_authenticated,                check_sender_access hash:$base/sender_access,                reject_authenticated_sender_login_mismatch,                reject_unknown_sender_domain,        reject_unlisted_sender,                reject_non_fqdn_sender,                reject_rbl_client bl.spamcop.net,                reject_rbl_client sbl-xbl.spamhaus.org,                reject_unverified_sender
strict_rfc821_envelopes = yes
unknown_local_recipient_reject_code = 550
unverified_sender_reject_code = 550
virtual_alias_maps = mysql:$base/mysqlLookupMaps/alias.conf
virtual_gid_maps = static:2009
virtual_mailbox_base = /var/spool/mail
virtual_mailbox_domains = mysql:$base/mysqlLookupMaps/domain.conf
virtual_mailbox_limit_maps = mysql:$base/mysqlLookupMaps/quota.conf
virtual_mailbox_limit_override = yes
virtual_mailbox_maps = mysql:$base/mysqlLookupMaps/mailbox.conf
virtual_maildir_extended = yes
virtual_minimum_uid = 1000
virtual_overquota_bounce = yes
virtual_uid_maps = static:2009


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено guest , 24-Фев-11 12:58 
>> попробуйте для начала grep warning: /var/log/maillog (или где он у вас)
>> 100% там будет более детальная ругань.
> Да нет там ничего криминального...
> к почте относится только:
> warning: connect to 127.0.0.1:2525: Connection refused
> warning: problem talking to server 127.0.0.1:2525: Connection refused
> но это к проблеме никаким боком относится не должно...

Уверен, что это и есть ваша проблема.
Вы писали, что погасили gld. Из конфигов вы его при этом не убрали.
Посмотрите внимательно в этот файл $base/greylisting.pcre


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 13:15 
>[оверквотинг удален]
>>> 100% там будет более детальная ругань.
>> Да нет там ничего криминального...
>> к почте относится только:
>> warning: connect to 127.0.0.1:2525: Connection refused
>> warning: problem talking to server 127.0.0.1:2525: Connection refused
>> но это к проблеме никаким боком относится не должно...
> Уверен, что это и есть ваша проблема.
> Вы писали, что погасили gld. Из конфигов вы его при этом не
> убрали.
> Посмотрите внимательно в этот файл $base/greylisting.pcre

дык он и ругается, что грейлистинг не запущен...
и после этого работает дальше...


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено guest , 24-Фев-11 13:18 
> дык он и ругается, что грейлистинг не запущен...
> и после этого работает дальше...

Ну, а как по вашему должен себя повести MTA когда требуемая не может быть выполнена???



"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 13:41 
>> дык он и ругается, что грейлистинг не запущен...
>> и после этого работает дальше...
> Ну, а как по вашему должен себя повести MTA когда требуемая не
> может быть выполнена???

Я не понимаю, что вы хотите сказать.
Там в конфиге написана последовальность. По ней сначала идет обращенией к грейлистингу, там даже строчка есть:
check_policy_service inet:127.0.0.1:2525
он обращается, но но не может присоединится о чем пишет в warning, т.к. сервис выключен, и идет дальше по этой последовательности...
я ж говорю, что на данный момент почта работает, просто возникла проблема с конкретным партнером, т.к. их сервер делает конвеер...


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено guest , 24-Фев-11 13:51 
> он обращается, но но не может присоединится о чем пишет в warning,
> т.к. сервис выключен, и идет дальше по этой последовательности...

Ни кто некуда дальше не идет.
Как только в ходе проверки postfix натыкается на ваш грейлистинг, он ругается в лог и говорит 4xx в надежде что вы включите голову и исправите проблему.

> я ж говорю, что на данный момент почта работает, просто возникла проблема
> с конкретным партнером, т.к. их сервер делает конвеер...

Сессии попадающие под грейлистинг от _любого_ клиента у вас сейчас не работают.
pipelining тут совершенно не причем.


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 14:54 
>> он обращается, но но не может присоединится о чем пишет в warning,
>> т.к. сервис выключен, и идет дальше по этой последовательности...
> Ни кто некуда дальше не идет.
> Как только в ходе проверки postfix натыкается на ваш грейлистинг, он ругается
> в лог и говорит 4xx в надежде что вы включите голову
> и исправите проблему.
>> я ж говорю, что на данный момент почта работает, просто возникла проблема
>> с конкретным партнером, т.к. их сервер делает конвеер...
> Сессии попадающие под грейлистинг от _любого_ клиента у вас сейчас не работают.
> pipelining тут совершенно не причем.

Хорошо, я специально проверю этот момент закоментировав строчки...
по результату отпишусь...


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 15:43 
>[оверквотинг удален]
>> Ни кто некуда дальше не идет.
>> Как только в ходе проверки postfix натыкается на ваш грейлистинг, он ругается
>> в лог и говорит 4xx в надежде что вы включите голову
>> и исправите проблему.
>>> я ж говорю, что на данный момент почта работает, просто возникла проблема
>>> с конкретным партнером, т.к. их сервер делает конвеер...
>> Сессии попадающие под грейлистинг от _любого_ клиента у вас сейчас не работают.
>> pipelining тут совершенно не причем.
> Хорошо, я специально проверю этот момент закоментировав строчки...
> по результату отпишусь...

Проверил, судя по всему действительно в нем дело.
Проблема вроде как решилось. Там грейлистились домены не .ru, а т.к. грейлистинг был выключен, а конфиг постфикса с грейлистингом оставался, то была вот такая бадяга.
Но! При этом не понятно, некоторые домены не .ru несмотря на незапущенный грейлистинг все равно проходили(!), я поэтому и был уверен, что вроде как все оно и работает. Как оно тогда работало - не понятно...


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено guest , 24-Фев-11 17:43 
> Но! При этом не понятно, некоторые домены не .ru несмотря на незапущенный
> грейлистинг все равно проходили(!), я поэтому и был уверен, что вроде
> как все оно и работает. Как оно тогда работало - не
> понятно...

очевидно они попадали в исключения...


"Postfix. А должен ли он принимать почту в таком случае?"
Отправлено vel , 24-Фев-11 21:10 
>> Но! При этом не понятно, некоторые домены не .ru несмотря на незапущенный
>> грейлистинг все равно проходили(!), я поэтому и был уверен, что вроде
>> как все оно и работает. Как оно тогда работало - не
>> понятно...
> очевидно они попадали в исключения...

Да нет в принципе исключений, дефолтовые какие-то вроде бы были, но среди них точно нет тех, письма от которых проходили... чудеса..