postfix задержки

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
gcc
Сообщения: 526
ОС: FreeBSD 8.0 CURRENT

postfix задержки

Сообщение gcc »

вроде бы настроил postfix + dbmail

но есть проблема, которую я видел сегодня

скажу сразу: dmail я совсем отключил...

сейчас вижу картину...

из-за чего это может быть из-за конфига?

он не может подключиться к 25 порту, может из-за ДНС?

Код: Выделить всё

# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
^C
# telnet smtp...org.ua 25
Trying 194....
Connected to smtp...org.ua.
Escape character is '^]'.
220 smtp...org.ua ESMTP
^C^C^C^C^C^C^X^C^X


нэ, сервер не нагруженный все так...

Код: Выделить всё

ps axuw | grep smtpd
postfix 96037  nan  0.3  6280  4092  ??  I     8:52AM   0:00.03 smtpd -n smtp -t inet -u -o stress=


это стоит

Код: Выделить всё

smtp inet n - n - - smtpd



Код: Выделить всё

#
# /usr/local/etc/postfix/main.cf
#










smtpd_tls_ask_ccert = yes

#smtpd_tls_auth_only =  yes
smtpd_tls_key_file = /usr/local/etc/postfix/ssl2/smtpd.key
smtpd_tls_cert_file = /usr/local/etc/postfix/ssl2/smtpd.crt
smtpd_tls_CAfile = /usr/local/etc/postfix/ssl2/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

smtpd_use_tls = yes

smtps_use_tls = yes #
#smtp_use_tls = yes #

smtp_tls_note_starttls_offer = yes




# LOCAL PATHNAME INFORMATION
#
# Указываем месторасположения директории очереди postfix. Также данная
# директория является корнем, когда postfix запускается в chroot окружении.
queue_directory = /var/spool/postfix

# Задает месторасположение всех postXXX команд (postmap, postconf, postdrop)
command_directory = /usr/local/sbin

# Задаем корень конфигурационных файлов, для более "быстрой навигации".
# Например, теперь можно использовать $base/header_checks вместо
# /usr/local/etc/postfix/header_checks. Мелочь, а приятно.
base = /usr/local/etc/postfix

# Задает месторасположение всех программ демонов postfix. Это программы,
# перечисленные в файле master.cf. Владельцем этой директории должен быть root
daemon_directory = /usr/local/libexec/postfix

# QUEUE AND PROCESS OWNERSHIP
#
# Задает владельца очереди postfix, а также большинства демонов postfix.
# В целях безопасности, необходимо использовать выделенную учетную запись.
# Т.е. от данного пользователя не должны запускаться какие-либо процессы
# в системе, а также он не должен являться владельцем каких-либо файлов.
mail_owner = postfix

# Права по умолчанию, использующиеся local delivery agent. Не указывайте
# здесь привилегированного пользователя или владельца postfix.
default_privs = nobody

# INTERNET HOST AND DOMAIN NAMES
#
# Задает имя хоста в формате FQDN. По умолчанию, используется значение,
# возвращаемой функцией gethostname().
#myhostname = mail.sys-adm.org.ua
myhostname = smtp.x0.org.ua

# Задает имя нашего домена. По умолчанию используется значение $myhostname
# минус первый компонент.
mydomain = x0.org.ua

# SENDING MAIL
#
# Данный параметр указывает имя домена, которое используется при отправлении
# почты с этой машины. По умолчанию, используется имя локальной машины -
# $myhostname. Для согласованности между адресами отправителя и получателя,
# myorigin также указывает доменное имя, которое добавляется к адресу
# получателя для которого не указана доменная часть.
# myorigin = $myhostname (отправлять письма от: "alex@mail.sys-adm.org.ua")
# myorigin = $mydomain (отправлять письма от: "alex@sys-adm.org.ua")
myorigin = $mydomain

# RECEIVING MAIL
#
# Указывает адреса сетевых интерфейсов, на которых будет принимать почту
# наша почтовая система. По умолчанию используются все активные интерфейсы
# на машине. При изменении этого праметра необходимо перезапустить postfix
inet_interfaces = all

# Данный параметр указывает список доменов, для которых почта будет доставляться
# локально, а не пересылаться на другой хост. Не указывайте здесь виртуальные
# домены, для этого есть специальный параметр virtual_mailbox_domains
#mydestination = $myhostname, localhost.$mydomain, localhost

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
# Таблица просмотра со всеми именами и адресами локальных получателей.
local_recipient_maps = unix:passwd.byname $alias_maps

# TRUST AND RELAY CONTROL
#
# Данный параметр задает список "доверенных" клиентов, которые обладают
# некоторыми привилегиями. В частности доверенным SMTP клиентам дозволено
# пересылать почту через postfix. Если вы не доверяете никому, то оставьте
# только 127.0.0.0/8
mynetworks = 127.0.0.0/8

# ALIAS DATABASE
#
# Данный параметр указывает список алиасов, используемый local delivery agent
# После внесения изменений в данный файл необходимо выполнить команду newaliases
# или postalias /etc/mail/aliases
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

# SHOW SOFTWARE VERSION OR NOT
#
# Желательно сообщать как можно меньше информации о нашем почтовом сервере.
# Согласно требованиям SMTP протокола вы должны указать $myhostname вначале текста
smtpd_banner = $myhostname ESMTP

# DEBUGGING CONTROL
#
# Задает уровень информативности, когда имя или адрес SMTP клиента
# или сервера соответствует шаблону, заданному в параметре debug_peer_list.
# Следует использовать только во время отладки.
#debug_peer_list = 127.0.0.1, x0.org.
debug_peer_level = 2

# RESTRICTIONS
#
# client, helo, sender, recipient, data, end-of-data
#


# Отклонять команду ETRN
#smtpd_etrn_restrictions = reject

# Заставляем отклонять почту с неизвестным адресом отправителя.
# Позволяет бороться с червями и некоторыми вирусами.

#smtpd_reject_unlisted_sender = yes

# Отключает SMTP команду VRFY. В результате чего, невозможно определить
# существование определенного ящика. Данная техника (применение команды
# VRFY) используется спамерами для сбора имен почтовых ящиков.
disable_vrfy_command = yes

# Требуем чтобы адреса, передаваемые в SMTP командах MAIL FROM и RCPT TO
# заключались в <>, а также не содержали стилей или фраз RFC 822.
strict_rfc821_envelopes = yes

# Скрываем отображение имени таблицы получателей в ответе "User unknown"
# yes: User unknown in virtual mailbox table
# no: User unknown
show_user_unknown_table_name = no

# Данный адрес будет использоваться при проверки существования адреса отправителя.
address_verify_sender = <>

# Числовой код ответа SMTP сервера Postfix в случае, когда адрес
# получателя отвергнут ограничением reject_unverified_sender.
unverified_sender_reject_code = 550

# Требуем, чтобы удаленный SMTP клиент представлял себя
# в начале SMTP сессии с помощью команды HELO или EHLO.
smtpd_helo_required = yes

# Всегда отправлять EHLO вначале SMTP сессии
smtp_always_send_ehlo = yes

# Максимальное количество ошибок, которое может сделать удаленный SMTP клиент.
# При превышение данного числа Postfix разорвет соединение.
smtpd_hard_error_limit = 8

# Включаем поддержку sasl аутентификации
smtpd_sasl_auth_enable = yes

# Имя приложения, используемого для инициализации SASL сервера.
# Данный параметр задает имя конфигурационного файла. Имя smtpd
# будет соответсвовать конфигурационному файлу SASL - smtpd.conf.
smtpd_sasl_application_name = smtpd

# Включает функциональную совместимость с SMTP клиентами, которые
# используют устаревшую версию команды AUTH (RFC 2554),
# например, outlook express 4 и MicroSoft Exchange version 5.0.
broken_sasl_auth_clients = yes

# Отвергаем методы, позволяющие анонимную аутентификацию
smtpd_sasl_security_options = noanonymous

# Optional lookup table with the SASL login names
# that own sender (MAIL FROM) addresses

## smtpd_sender_login_maps = mysql:$base/mysqlLookupMaps/sender.conf

# Указываем, где postfix должен брать информацию о алиасах
##virtual_alias_maps = mysql:$base/mysqlLookupMaps/alias.conf

# Указываем, где postfix должен брать информацию о доменах
##virtual_mailbox_domains = mysql:$base/mysqlLookupMaps/domain.conf

# Указываем, где postfix должен брать информацию о почтовых ящиках
## 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
#virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"

#mailbox_size_limit = 52428800

#message_size_limit = 5242880

# 1981 - uid и gid пользователя и группы virtual соответственно
##virtual_gid_maps = static:1981
##virtual_uid_maps = static:1981
##virtual_minimum_uid = 1000




default_process_limit = 100






# DELIVERY TO MAILBOX
#mailbox_transport = dbmail-lmtp:localhost:25
#mailbox_transport = dbmail-smtp:
#fallback_transport =

#REJECTING MAIL FOR UNKNOWN LOCAL USERS
local_recipient_maps = mysql:/usr/local/etc/postfix/sql-recipients.cf
#unknown_local_recipient_reject_code = 550













#readme_directory = /usr/local/share/doc/postfix
#sample_directory = /usr/local/etc/postfix
#sendmail_path = /usr/local/sbin/sendmail
#html_directory = /usr/local/share/doc/postfix
#setgid_group = maildrop
#manpage_directory = /usr/local/man
#newaliases_path = /usr/local/bin/newaliases
#mailq_path = /usr/local/bin/mailq
#data_directory = /var/db/postfix





Код: Выделить всё

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -      n       -       -       smtpd
submission inet n       -       n       -       -       smtpd
  -o smtpd_enforce_tls=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject


smtps     inet  n       -       n       -       -       smtpd
  #-o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

#dbmail-lmtp     unix    -       -       n       -       -       lmtp -v
#  -o disable_dns_lookups=yes

#dbmail    unix  -       n       n       -       -       pipe
#       flags= user=dbmail argv=/usr/local/sbin/dbmail-smtp -d ${recipient}



#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
#qmgr     fifo  n       -       n       300     1       oqmgr
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=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     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. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
#maildrop  unix  -       n       n       -       -       pipe
#  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
#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}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
#uucp      unix  -       n       n       -       -       pipe
#  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# ====================================================================
#
# Other external delivery methods.
#
#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/local/sbin/bsmtp -f $sender $nexthop $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}
proxywrite unix -       -       n       -       1       proxymap


вот аткие вот задержки, может быт ьчерез раз, может быть 3 раза с первого раза подключиться, нормально, но потом опять глюки


вот лог http://x0.org.ua/perl/postfix.log.txt
(можете в браузере открыть 4 метра)

только что сделал killall httpd

подключения все практически из локалхоста или с моего ip...
сервак чтоли взломаный?
а как найти скрипт который отправляет?

в данном случае отправка идеи от root? почему postfix не пишет от куда и куда отправляються письма?

есть queueid, я не нашел...
как логически решить проблему? что делать?
а данном случае из локалхоста от рута отправляется почта и из-за этого задержка по telnet?
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: postfix задержки

Сообщение skeletor »

Ну вот скажите, обязательно ли приводить комментарии в конфигах? Без них конфиг уместиться даже без codebox и будет проще найти ошибку. Да и лог вы привели с самого начала по вчера. Зачем? Приводите только то, что касается данной проблемы, а то там ещё и Sendmail светиться.

И ещё: что значит фраза "есть queueid, я не нашел..."???
Спасибо сказали: