[u]Суть проблемы[/u]: Почта от моего пользователя на один адрес не уходит - висит в очереди.
[u]Вопрос #1[/u]: Как выявить локальную проблему и ликвидировать ее? Если проблема не локальная - как выявить и аргументированно объяснить начальству, а то ОНО вопрошающе смотрит и пока что ждет.
[u]Предисловие[/u]: Достался "в наследство" сервер под FreeBSD 5.4-RELEASE
роли: NAT, FIREWALL, MTA (Postfix), TransparentProxy (Squid).
"документация"на сервер - лист А4 на котором несколько строчек рукописного текста типа:/etc/rc.conf - все что запускается при старте и настройки интерфейсов
squid.conf - конфиг сквида
...
master.cf и main.cf - настройки постфикса
[u]Конкретизация[/u]: не уходит почта от моего пользователя на адрес в домене 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)
В логах постфикса то же самое. Остальная почта ходит нормально - и принимается и отправляется.
Перечитав горы текстов, как на английском, так и на ломаном русском и окончательно запутавшись, пришел к выводу, что хост nauserv.ru пытается проверить отправителя на подлинность для чего запрашивает у моего сервера ответный сигнал, почему-то не дожидается его следовательно игнорирует все потуги моего сервера отправить ему письмо :(
В main.cf ничего необычного на мой взгляд нет (вот выдержки из него - практически все, кроме комментариев):
# 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 = $myhostnamesmtpd_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, permitsmtpd_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
Файл /usr/local/etc/postfix/recipients_list - формируется скриптом, который синхронизирует его по расписанию со службой каталогов на DC.
Файл /usr/local/etc/postfix/access - судя по ушам, формируется руками, там пара записей типа:hostname.domainname.com OK
hostname2.domainname.net OKМного всего понатыкано в master.cf пока что понял только, что прикручены Clam и Spamassassin через скрипт myfilter.
[u]Вопрос #2[/u]: может ли это быть из-за какого-нибудь обработчика почты? Я так понял, что они определяются в файле master.cf.
# 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}
по вопросу 1 - от кого отправляется почта? алгоритм такой: ты посылаешь от кого-то письмо на ящик user@nauserv.ru, тот сервер пытается проверить наличие ящика - с которого отправляешь, твой сервер ему ничего не отвечает, поэтому принимающий сервер письмо не принимает. Дальше попробуй сам решить задачу.по вопросу 2 - наворочено много, зачем не понятно...
>по вопросу 1 - от кого отправляется почта?от моего пользователя в домене.
> алгоритм такой: ты посылаешь
>от кого-то письмо на ящик user@nauserv.ru, тот сервер пытается проверить наличие
>ящика - с которого отправляешь, твой сервер ему ничего не отвечает,
>поэтому принимающий сервер письмо не принимает. Дальше попробуй сам решить задачу.Я склоняюсь к тому, что каким-то боком "испортилась" настройка постфикса, ибо раньше, как утверждает мой коллега, все было тип-топ, правда один раз (около года назад) наблюдался эффект "недоставки" писем, но как-то там все рассосалось и забылось :(
Мне слабо верится в самопроизвольность происходящих событий. Наблюдая такое следствие приходится искать причину.
Сегодня мой IP был занесен в black-list на spamcop.net и несколько серверов отказались принимать почту :(
Как наиболее безболезненно (сервер боевой) откатить настройки к упрощенным, но 100% правильным?
Пусть хоть вообще без фильтров и антивиря.
т.е. перед собой вижу две задачи: [u]Почта, отправленная моими пользователями, должна доставляться их абонентам. Почта, адресованная моим пользователям, должна быть ими получена.[/u]Сделать бы это и затем, документируя все действия уже прикрутить антивирь и спам-фильтр.
>по вопросу 2 - наворочено много, зачем не понятно...
Самое ужасное, это то, что первоначальный master.cf не сохранен :( Где взять дефолтный?
Начать с нуля очень просто - удаляешь порт (или пакет) postfix'a и заново его ставишь. Это и с точки зрения безопасности рекомендую - кто знает, почему твой сервер оказался в черных списках? может там для каких-то адресов открыт релей и через тебя спамят?
>Посылаю тестовое сообщение:$ 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?
Разбирайся, почему твой сервер не хочет принимать от него письмо>Файл /usr/local/etc/postfix/access - судя по ушам, форми
добавь
nauserv.ru OK
в этот файл, сделай postmap usr/local/etc/postfix/access(Что бы начальство косо не смотрело)
>[оверквотинг удален]
>
>Ну и показал бы кусок логов.Я же говорю, что в логах абсолютно то же самое (вот внизу привожу кусок из mailloga)
>В логах постфикса есть запрос на отправку письма с сервера nauserv.ru?Нету - с этого адреса почта не отправлялась на мой сервер последние две недели. Есть только отбивки на посылаемые письма о невозможности проверить подлинность отправителя.
>Разбирайся, почему твой сервер не хочет принимать от него письмо
Чем и занимаюсь. Непонятно, почему именно от него? С другими серверами пока нормально все :(
>>Файл /usr/local/etc/postfix/access - судя по ушам, форми
>
>добавь
>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))
>[оверквотинг удален]
>>>Файл /usr/local/etc/postfix/access - судя по ушам, форми
>>
>>добавь
>>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
>может у тебя на сервер закрыто выполнение команды vrfyа это тут причем? на 81.177.33.2 используется exim.
>и собственно это не твоя проблемы что тот сервер делает callback
свяжитесь с админом сервера 81.177.33.2 и попросите его, чтобы он посмотрел, почему экзим не может выполнить callout
>>может у тебя на сервер закрыто выполнение команды vrfy
>
>а это тут причем? на 81.177.33.2 используется exim.
>
>>и собственно это не твоя проблемы что тот сервер делает callback
>
>свяжитесь с админом сервера 81.177.33.2 и попросите его, чтобы он посмотрел, почему
>экзим не может выполнить calloutМда, вот, жду ответа... от админа.
А пока что новая проблема назрела, точнее сказать, как выяснилось она назревала с весны, а сейчас взорвалась. Один из менеджеров жалуется, что ему с нескольких адресов почта приходит с задержкой в 4 часа. Ему отсылают письма на наш ящик и на mail.ru - на mail.ru она приходит в течение 2-5 минут, а на мой сервак - через 4 часа. При этом никаких коннектов от отправителей постфикс не регистрирует.
Подскажите пожалуйста, как разрулить ситуацию.
Что делать - ума не приложу, а ситуация очень остро встала, ибо менеджер рассылает корпоративной почтой жалобы всем начальникам, начиная с генерального и кончая учредителями :(
на mail.ru
>она приходит в течение 2-5 минут, а на мой сервак -
>через 4 часа. При этом никаких коннектов от отправителей постфикс не
>регистрирует.может с днс что ?
удаленная сторона не может нормально отрезолвить мх запись например
хотя в таком случае письмо должно вернуться отправителю
>на 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.