The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Из логов Postfix пропала инфа"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Другая система)
Изначальное сообщение [ Отслеживать ]

"Из логов Postfix пропала инфа"  +/
Сообщение от evildevel (ok) on 01-Июн-17, 17:47 
Всем привет.

С недавнего времени Postfix (2.11.3) перестал писать в лог сообщения status=(sent|bounced|deferred). Работал больше года, все было ок и вдруг такая фигня. Работает все это добро на Debian 8.2. Ай нид хелп!

Сейчас в mail.log пишется примерно это:


May 31 16:18:44 localhost postfix/pickup[925]: 103B7A19AB: uid=33 from=<bounce-6eaa3c6e6bf6a99af055ead53fea9efd@whitelabel.a.ru>

May 31 16:18:44 localhost postfix/cleanup[472]: 103B7A19AB: replace: header Received: by email.b.ru (Postfix, from userid 33)??id 103B7A19AB; Wed, 31 May 2017 16:18:44 +0300 (MSK) from local; from=<bounce-6eaa3c6e6bf6a99af055ead535ead53fea9efd@whitelabel.a.ru>: Received: by email.b.ru

May 31 16:18:44 localhost postfix/cleanup[472]: 103B7A19AB: message-id=<18246948@whitelabel.a.ru>

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Из логов Postfix пропала инфа"  +/
Сообщение от Аноним (??) on 02-Июн-17, 01:11 
Может в другие логи попадает? Смотри конфиг сислога
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Из логов Postfix пропала инфа"  +/
Сообщение от eRIC (ok) on 02-Июн-17, 07:01 
у вас логируются только модули:
postfix/pickup
postfix/cleanup

нужно посмотреть настройки postfix/smtp для исходящей почты и postfix/smtpd для всех входящих писем (ну если интересно статус менеджера очереди postfix/qmgr). возможно как сказали ранее, пишется в другое место.

#postconf -n (настройки из main.cf)
#cat master.cf (настройки запуска модулей postfix и параметры логирования -v (-vv) и т.д.)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Из логов Postfix пропала инфа"  +/
Сообщение от evildevel (ok) on 05-Июн-17, 11:19 
Спасибо за ответы, но как выяснилось логгирование postfix/smtp работает в
некоторых ситуациях. Попробую описать проблему более детально.

Postfix настроен на отправку писем от 7 различных доменов. Каждый домен настроен
на отдельный IP адрес.

Код на PHP который отправляет письма


mail(
    'to@recepient.com',
    'subject',
    'message',
    implode("\r\n", Array(
        'From: from@sender1.com'
    )),
    // MD5 хэш получателя нужен для отлова емайла в FBL от некоторых почтовиков
    '-fbounce-' . md5('to@recepient.com') . '@whitelabel.sender1.com'
)

Я ЗАМЕТИЛ ОДНУ ОСОБЕННОСТЬ
Строка '-fbounce-' . md5('to@recepient.com') . '@whitelabel.sender1.com'. Если в
этой строке используется домен "whitelabel.sender1.com" или любой другой для
которого настроен транспорт в /etc/postfix/sdd_transport_maps.regexp, то логи
postfix/smtp не пишутся. Если изменить на
'-fbounce-' . md5('to@recepient.com') . '@sender1.com' (убрали "whitelabel"), в
таком случае в mail.log успешно пишутся сообщения от postfix/smtp о доставке
писем.

Получается, что логгирование postfix/smtp работает только для тех отправителей,
для которых не настроен транспорт в Postfix.

Куда копать имея эту инфу? Уже неделю мучаемся, помогите плз разобраться.

#cat /etc/postfix/main.cf


smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

append_dot_mydomain = no

delay_warning_time = 1h
maximal_queue_lifetime = 1d
bounce_queue_lifetime = 1d

smtp_data_init_timeout = 240s
smtp_data_xfer_timeout = 600s

queue_run_delay = 180s
minimal_backoff_time = 300s
maximal_backoff_time = 7200s

readme_directory = no

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = email.xxx.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination =
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf

milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

virtual_transport = dovecot
dovecot_destination_recipient_limit = 1

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
sender_dependent_default_transport_maps = regexp:/etc/postfix/sdd_transport_maps.regexp
header_checks = regexp:/etc/postfix/header_checks

#cat /etc/postfix/master.cf


smtp      inet  n       -       -       -       -       smtpd
    -o content_filter=spamassassin
pickup    unix  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
    flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
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=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix    -    n    n    -    2    pipe
    flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
    flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
    ${nexthop} ${user}
dovecot      unix  -    n    n    -    -    pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
submission inet n    -    n    -    -    smtpd
    -o smtpd_sasl_auth_enable=yes
    -o smtpd_client_restrictions=permit_sasl_authenticated,permit_mynetworks,reject
spamassassin unix - n n - - pipe
    user=spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

u1000001 unix   -       -       n       -       -       smtp
    -o smtp_bind_address=1.1.1.1
    -o smtp_helo_name=whitelabel.sender1.com
    -o syslog_name=postfix-u1000001

u1000002 unix   -       -       n       -       -       smtp
        -o smtp_bind_address=1.1.1.2
        -o smtp_helo_name=whitelabel.sender2.com
        -o syslog_name=postfix-u1000002

u1000003 unix   -       -       n       -       -       smtp
        -o smtp_bind_address=1.1.1.3
        -o smtp_helo_name=whitelabel.sender3.com
        -o syslog_name=postfix-u1000003

u1000004 unix   -       -       n       -       -       smtp
        -o smtp_bind_address=1.1.1.4
        -o smtp_helo_name=whitelabel.sender4.com
        -o syslog_name=postfix-u1000004

u1000005 unix   -       -       n       -       -       smtp
        -o smtp_bind_address=1.1.1.5
        -o smtp_helo_name=whitelabel.sender5.com
        -o syslog_name=postfix-u1000005

u1000006 unix   -       -       n       -       -       smtp
        -o smtp_bind_address=1.1.1.6
        -o smtp_helo_name=whitelabel.sender6.com
        -o syslog_name=postfix-u1000006

u1000007 unix   -       -       n       -       -       smtp
        -o smtp_bind_address=1.1.1.7
        -o smtp_helo_name=whitelabel.sender7.com
        -o syslog_name=postfix-u1000007


#cat /etc/postfix/sdd_transport_maps.regexp


/@whitelabel\.sender1\.com$/ u1000001:
/@whitelabel\.sender2\.com$/ u1000002:
/@whitelabel\.sender3\.com$/ u1000003:
/@whitelabel\.sender4\.com$/ u1000004:
/@whitelabel\.sender5\.com$/ u1000005:
/@whitelabel\.sender6\.com$/ u1000006:
/@whitelabel\.sender7\.com$/ u1000007:

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Из логов Postfix пропала инфа"  +1 +/
Сообщение от Аноним (??) on 05-Июн-17, 13:26 

syslog_name (see 'postconf -d' output)
       The mail system name that is prepended to the  process  name  in
       syslog  records,  so  that  "smtpd" becomes, for example, "post-
       fix/smtpd".

Скорей всего ваш демон сислога по этой строке определяет в какой файл писать логи постфикса.
Закомментируйте этот параметр в master.cf у ваших транспортов, или найдите конфиг сислога и отредактируйте его.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Из логов Postfix пропала инфа"  +/
Сообщение от eRIC (ok) on 07-Июн-17, 07:24 
> Скорей всего ваш демон сислога по этой строке определяет в какой файл
> писать логи постфикса.
> Закомментируйте этот параметр в master.cf у ваших транспортов, или найдите конфиг сислога
> и отредактируйте его.

верно, нужно смотреть как настроены syslog_name=postfix-u1000001 до postfix-u1000007


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Из логов Postfix пропала инфа"  +/
Сообщение от evildevel (ok) on 07-Июн-17, 08:35 
> Скорей всего ваш демон сислога по этой строке определяет в какой файл
> писать логи постфикса.
> Закомментируйте этот параметр в master.cf у ваших транспортов, или найдите конфиг сислога
> и отредактируйте его.

Удалил для u1000001 параметр -o syslog_name=postfix-u1000001, перезапустил Postfix, ничего не изменилось, ситуация все та же. Похоже, что проблема не в этом. Самое интересное, что все это работало более года ранее и совсем недавно перестало корректно работать. Прикладываю листинг конфига rsyslog. Может кто-то возьмется на платной основе за решение этой проблемы? Какие еще есть мысли?

# cat /etc/rsyslog.conf


#  /etc/rsyslog.conf    Configuration file for rsyslog.
#
#            For more information see
#            /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html


#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support
#$ModLoad immark  # provides --MARK-- message capability

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#
# Set the default permissions for all log files.
#
$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

#
# Where to place spool and state files
#
$WorkDirectory /var/spool/rsyslog

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf


###############
#### RULES ####
###############

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*            /var/log/auth.log
*.*;auth,authpriv.none        -/var/log/syslog
#cron.*                /var/log/cron.log
daemon.*            -/var/log/daemon.log
kern.*                -/var/log/kern.log
lpr.*                -/var/log/lpr.log
mail.*                -/var/log/mail.log
user.*                -/var/log/user.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info            -/var/log/mail.info
mail.warn            -/var/log/mail.warn
mail.err            /var/log/mail.err

#
# Logging for INN news system.
#
news.crit            /var/log/news/news.crit
news.err            /var/log/news/news.err
news.notice            -/var/log/news/news.notice

#
# Some "catch-all" log files.
#
*.=debug;\
    auth,authpriv.none;\
    news.none;mail.none    -/var/log/debug
*.=info;*.=notice;*.=warn;\
    auth,authpriv.none;\
    cron,daemon.none;\
    mail,news.none        -/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg                :omusrmsg:*

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
#    news.=crit;news.=err;news.=notice;\
#    *.=debug;*.=info;\
#    *.=notice;*.=warn    /dev/tty8

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
#
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
daemon.*;mail.*;\
    news.err;\
    *.=debug;*.=info;\
    *.=notice;*.=warn    |/dev/xconsole

# ls /etc/rsyslog.d/


postfix.conf

# cat /etc/rsyslog.d/postfix.conf


# Create an additional socket in postfix's chroot in order not to break
# mail logging when rsyslog is restarted.  If the directory is missing,
# rsyslog will silently skip creating the socket.
$AddUnixListenSocket /var/spool/postfix/dev/log

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Из логов Postfix пропала инфа"  +/
Сообщение от Аноним (??) on 07-Июн-17, 11:44 
Попробуйте поместить ваши транспорты в чрут, т.е. заменить "n" на "-" в этих строках:
u1000001 unix   -       -       n       -       -       smtp

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Из логов Postfix пропала инфа"  +/
Сообщение от evildevel (ok) on 07-Июн-17, 12:20 
> Попробуйте поместить ваши транспорты в чрут

WOW. Работает! Many thanks! Почему? Что случилось с текущей конфигурацией и почему в чруте все заработало? Объясните плз подробно)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Из логов Postfix пропала инфа"  +/
Сообщение от Аноним (??) on 07-Июн-17, 20:08 
хз, какие-то права или селинукс может быть. Лучше наверное через strace посмотреть.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру