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

Исходное сообщение
"postfix не доставляет почту на некоторые адреса"

Отправлено daloman , 16-Сен-07 23:41 
Суть проблемы: Почта от моего пользователя на один адрес не уходит - висит в очереди.
Вопрос #1: Как выявить локальную проблему и ликвидировать ее? Если проблема не локальная - как выявить и аргументированно объяснить начальству, а то ОНО вопрошающе смотрит и пока что ждет.
Предисловие: Достался "в наследство" сервер под FreeBSD 5.4-RELEASE
роли: NAT, FIREWALL, MTA (Postfix), TransparentProxy (Squid).
"документация"на сервер - лист А4 на котором несколько строчек рукописного текста типа:
/etc/rc.conf - все что запускается при старте и настройки интерфейсов
squid.conf - конфиг сквида
...
master.cf и main.cf - настройки постфикса

Конкретизация: не уходит почта от моего пользователя на адрес в домене nauserv.ru - висит уже третьи сутки в очереди.
Посылаю тестовое сообщение:
$ sendmail -bv user@nauserv.ru
получаю такой отчет:
<user@nauserv.ru>: delivery via nauserv.ru[81.177.33.2]: host
    nauserv.ru[81.177.33.2] said: 451 Could not complete sender verify callout
    (in reply to RCPT TO command)

В логах постфикса то же самое. Остальная почта ходит нормально - и принимается и отправляется.
Перечитав горы текстов, как на английском, так и на ломаном русском и окончательно запутавшись, пришел к выводу, что хост [i]nauserv.ru[/i] пытается проверить отправителя на подлинность для чего запрашивает у моего сервера ответный сигнал, почему-то не дожидается его следовательно игнорирует все потуги моего сервера отправить ему письмо :(
В [i]main.cf[/i] ничего необычного на мой взгляд нет (вот выдержки из него - практически все, кроме комментариев):

# INTERNET HOST AND DOMAIN NAMES
myhostname = host.somedomain.ru
mydomain = somedomain.ru
mydestination = $myhostname, $mydomain, localhost.$mydomain, inagro.ru

# REJECTING MAIL FOR UNKNOWN LOCAL USERS
local_recipient_maps = hash:/usr/local/etc/postfix/recipients_list
unknown_local_recipient_reject_code = 450

# TRUST AND RELAY CONTROL
mynetworks = 127.0.0.0/8, XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX
relay_domains = host.somedomain.ru, somedomain.ru

# REJECTING UNKNOWN RELAY USERS
relay_recipient_maps = hash:/usr/local/etc/postfix/recipients_list

# JUNK MAIL CONTROLS
header_checks = regexp:/usr/local/etc/postfix/header_checks

# DEBUGGING CONTROL
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5
daemon_timeout = 66000s

# INSTALL-TIME CONFIGURATION INFORMATION
sendmail_path = /usr/local/sbin/sendmail
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
setgid_group = maildrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /usr/local/etc/postfix
readme_directory = no
show_user_unknown_table_name = no
smtpd_sasl_auth_enable = yes
smtpd_sasl_application_name = smtpd
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, permit_auth_destination, reject_unauth_destination

transport_maps = hash:/usr/local/etc/postfix/transport

reject_unknown_hostname, permit
smtpd_helo_restrictions = reject_invalid_hostname, permit_mynetworks, permit

smtpd_client_restrictions = permit_mynetworks, hash:/usr/local/etc/postfix/access, reject_rbl_client list.dsbl.org, reject_rbl_client bl.spamcop.net, reject_rbl_client cbl.abuseat.org, reject_rbl_client spamsources.fabel.dk, reject_rbl_client opm.blitzed.org, reject_rbl_client combined.njabl.org, reject_rbl_client relays.ordb.org, reject_rbl_client dul.ru, reject_rbl_client dialup.balcklist.jippg.org, reject_rbl_client relays.mail-abuse.org


Файл [i]/usr/local/etc/postfix/recipients_list[/i] - формируется скриптом, который синхронизирует его по расписанию со службой каталогов на DC.
Файл [i]/usr/local/etc/postfix/access[/i] - судя по ушам, формируется руками, там пара записей типа:
hostname.domainname.com OK
hostname2.domainname.net OK

Много всего понатыкано в [i]master.cf[/i] пока что понял только, что прикручены Clam и Spamassassin через скрипт [i]myfilter[/i].
Вопрос #2: может ли это быть из-за какого-нибудь обработчика почты? Я так понял, что они определяются в файле [i]master.cf[/i].


# Postfix master process configuration file...
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp       inet  n       -       n       -       -       smtpd -o content_filter=myfilter:dummy
# AV scan filter (used by content_filter)
scan      unix  -       -       n       -       16      smtp
    -o smtp_send_xforward_command=yes
# For injecting mail back into postfix from the filter
127.0.0.1:10026 inet  n -       n       -       16      smtpd
    -o content_filter=
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
    -o smtpd_helo_restrictions=
    -o smtpd_client_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks_style=host
    -o smtpd_authorized_xforward_hosts=127.0.0.0/8
#628      inet  n       -       n       -       -       qmqpd
pickup    fifo  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       n       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       n       -       -       smtp
        -o fallback_relay=
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
# ====================================================================
# Interfaces to non-Postfix software...
# ====================================================================
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix  -       n       n       -       -       pipe
  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus     unix  -       n       n       -       -       pipe
  user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
myfilter        unix    -       n       n       -       -       pipe
  flags=R user=clamav argv=/usr/local/av/myfilter.sh -f ${sender} -- ${recipient}


Содержание

Сообщения в этом обсуждении
"postfix не доставляет почту на некоторые адреса"
Отправлено _Ale_ , 17-Сен-07 15:15 
по вопросу 1 - от кого отправляется почта? алгоритм такой: ты посылаешь от кого-то письмо на ящик user@nauserv.ru, тот сервер пытается проверить наличие ящика - с которого отправляешь, твой сервер ему ничего не отвечает, поэтому принимающий сервер письмо не принимает. Дальше попробуй сам решить задачу.

по вопросу 2 - наворочено много, зачем не понятно...


"postfix не доставляет почту на некоторые адреса"
Отправлено daloman , 17-Сен-07 18:39 
>по вопросу 1 - от кого отправляется почта?

от моего пользователя в домене.

> алгоритм такой: ты посылаешь
>от кого-то письмо на ящик user@nauserv.ru, тот сервер пытается проверить наличие
>ящика - с которого отправляешь, твой сервер ему ничего не отвечает,
>поэтому принимающий сервер письмо не принимает. Дальше попробуй сам решить задачу.

Я склоняюсь к тому, что каким-то боком "испортилась" настройка постфикса, ибо раньше, как утверждает мой коллега, все было тип-топ, правда один раз (около года назад) наблюдался эффект "недоставки" писем, но как-то там все рассосалось и забылось :(
Мне слабо верится в самопроизвольность происходящих событий. Наблюдая такое следствие приходится искать причину.
Сегодня мой IP был занесен в black-list на spamcop.net и несколько серверов отказались принимать почту :(
Как наиболее безболезненно (сервер боевой) откатить настройки к упрощенным, но 100% правильным?
Пусть хоть вообще без фильтров и антивиря.
т.е. перед собой вижу две задачи: Почта, отправленная моими пользователями, должна доставляться их абонентам. Почта, адресованная моим пользователям, должна быть ими получена.

Сделать бы это и затем, документируя все действия уже прикрутить антивирь и спам-фильтр.

>по вопросу 2 - наворочено много, зачем не понятно...

Самое ужасное, это то, что первоначальный [i]master.cf[/i] не сохранен :( Где взять дефолтный?


"postfix не доставляет почту на некоторые адреса"
Отправлено _Ale_ , 17-Сен-07 20:40 
Начать с нуля очень просто - удаляешь порт (или пакет) postfix'a и заново его ставишь. Это и с точки зрения безопасности рекомендую - кто знает, почему твой сервер оказался в черных списках? может там для каких-то адресов открыт релей и через тебя спамят?

"postfix не доставляет почту на некоторые адреса"
Отправлено favourite , 18-Сен-07 10:37 
>Посылаю тестовое сообщение:
$ sendmail -bv user@nauserv.ru
получаю такой отчет:
<user@nauserv.ru>: delivery via nauserv.ru[81.177.33.2]: host
>    nauserv.ru[81.177.33.2] said: 451 Could not complete sender verify
>callout
>    (in reply to RCPT TO command)

>В логах постфикса то же самое.

Ну и показал бы кусок логов.
В логах постфикса есть запрос на отправку письма с сервера nauserv.ru?
Разбирайся, почему твой сервер не хочет принимать от него письмо

>Файл [i]/usr/local/etc/postfix/access[/i] - судя по ушам, форми

добавь
nauserv.ru OK
в этот файл, сделай postmap  usr/local/etc/postfix/access

(Что бы начальство косо не смотрело)


"postfix не доставляет почту на некоторые адреса"
Отправлено daloman , 20-Сен-07 11:05 
>[оверквотинг удален]
>
>Ну и показал бы кусок логов.

Я же говорю, что в логах абсолютно то же самое (вот внизу привожу кусок из mailloga)
>В логах постфикса есть запрос на отправку письма с сервера nauserv.ru?

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

>Разбирайся, почему твой сервер не хочет принимать от него письмо

Чем и занимаюсь. Непонятно, почему именно от него? С другими серверами пока нормально все :(

>>Файл [i]/usr/local/etc/postfix/access[/i] - судя по ушам, форми
>
>добавь
>nauserv.ru OK
>в этот файл, сделай postmap  usr/local/etc/postfix/access

Добавлял, таблицу поиска обновлял - ничего нового, опять:

Sep 18 09:30:06 psi postfix/smtp[87141]: 187AB6170: to=<user@nauserv.ru>, relay=nauserv.ru[81.177.33.2], delay=34, status=undeliverable (deli
very via nauserv.ru[81.177.33.2]: host nauserv.ru[81.177.33.2] said: 451 Could not complete sender verify callout (in reply to RCPT TO comm
and))


"postfix не доставляет почту на некоторые адреса"
Отправлено A Clockwork Orange , 20-Сен-07 11:36 
>[оверквотинг удален]
>>>Файл [i]/usr/local/etc/postfix/access[/i] - судя по ушам, форми
>>
>>добавь
>>nauserv.ru OK
>>в этот файл, сделай postmap  usr/local/etc/postfix/access
>
>Добавлял, таблицу поиска обновлял - ничего нового, опять:
Sep 18 09:30:06 psi postfix/smtp[87141]: 187AB6170: to=<user@nauserv.ru>, relay=nauserv.ru[81.177.33.2], delay=34, status=undeliverable (deli
>very via nauserv.ru[81.177.33.2]: host nauserv.ru[81.177.33.2] said: 451 Could not complete sender verify
>callout (in reply to RCPT TO comm
>and))

может у тебя на сервер закрыто выполнение команды vrfy
и собственно это не твоя проблемы что тот сервер делает callback


"postfix не доставляет почту на некоторые адреса"
Отправлено ALex_hha , 20-Сен-07 14:35 
>может у тебя на сервер закрыто выполнение команды vrfy

а это тут причем? на 81.177.33.2 используется exim.

>и собственно это не твоя проблемы что тот сервер делает callback

свяжитесь с админом сервера 81.177.33.2 и попросите его, чтобы он посмотрел, почему экзим не может выполнить callout


"(!) долго идет почта на мой сервер с некоторых адресов"
Отправлено daloman , 30-Сен-07 01:37 
>>может у тебя на сервер закрыто выполнение команды vrfy
>
>а это тут причем? на 81.177.33.2 используется exim.
>
>>и собственно это не твоя проблемы что тот сервер делает callback
>
>свяжитесь с админом сервера 81.177.33.2 и попросите его, чтобы он посмотрел, почему
>экзим не может выполнить callout

Мда, вот, жду ответа... от админа.
А пока что новая проблема назрела, точнее сказать, как выяснилось она назревала с весны, а сейчас взорвалась. Один из менеджеров жалуется, что ему с нескольких адресов почта приходит с задержкой в 4 часа. Ему отсылают письма на наш ящик и на mail.ru - на mail.ru она приходит в течение 2-5 минут, а на мой сервак - через 4 часа. При этом никаких коннектов от отправителей постфикс не регистрирует.
Подскажите пожалуйста, как разрулить ситуацию.
Что делать - ума не приложу, а ситуация очень остро встала, ибо менеджер рассылает корпоративной почтой жалобы всем начальникам, начиная с генерального и кончая учредителями :(


"(!) долго идет почта на мой сервер с некоторых адресов"
Отправлено nitalaut , 30-Сен-07 03:44 
на mail.ru
>она приходит в течение 2-5 минут, а на мой сервак -
>через 4 часа. При этом никаких коннектов от отправителей постфикс не
>регистрирует.

может с днс что ?
удаленная сторона не может нормально отрезолвить мх запись например
хотя в таком случае письмо должно вернуться отправителю


"(!) долго идет почта на мой сервер с некоторых адресов"
Отправлено daloman , 30-Сен-07 15:17 
>на mail.ru
>>она приходит в течение 2-5 минут, а на мой сервак -
>>через 4 часа. При этом никаких коннектов от отправителей постфикс не
>>регистрирует.

Прошу прощения, неправильно объяснил, в логах постфикса есть записи о том, что в (ну например)

Sep 30 13:57:13 psi postfix/local[24819]: 4F58050821: to=<user@mydomain.ru>, relay=192.9.100.210[192.9.100.210]:25, delay=42, delays=42/0.02/0/0.15, dsn=2.6.0, status=sent (250 2.6.0  <xxxxxxxxxxxxx@web56511.mail.re3.yahoo.com> Queued mail for delivery)
А на ящик mail.ru это же письмо приходит не в 13:57, а в 9:00!!
>может с днс что ?
>удаленная сторона не может нормально отрезолвить мх запись например
>хотя в таком случае письмо должно вернуться отправителю

Ну как так, от полутора тысяч абонентов нормально приходит почта, а тут косяк с несколькими адресами, кстати, владельцы этих адресов - сотрудники одного и того же крупного концерна Bakemark и MX у них один (что наводит на нехорошие мысли):

dmitriy@hws:~$ dig mx csm.nl | grep MX
;csm.nl.                                IN      MX
csm.nl.                 86381   IN      MX      50 mail.global.mas.att.com.
dmitriy@hws:~$ dig mx bakemarkpolska.pl | grep MX
;bakemarkpolska.pl.             IN      MX
bakemarkpolska.pl.      86400   IN      MX      50 mail.global.mas.att.com.
dmitriy@hws:~$ dig mx meistermarken.de | grep MX
;meistermarken.de.              IN      MX
meistermarken.de.       86400   IN      MX      100 mail.global.mas.att.com.
dmitriy@hws:~$ dig mx bakemark.co.uk | grep MX
;bakemark.co.uk.                        IN      MX
bakemark.co.uk.         86400   IN      MX      10 mail.global.mas.att.com.
dmitriy@hws:~$ dig mx bakemarkint.com | grep MX
;bakemarkint.com.               IN      MX
bakemarkint.com.        86400   IN      MX      10 mail.global.mas.att.com.