Привествую всех.
Делаю инет-шлюз на линухе (mandriva выбор дистриба - другой вопрос) надо:
1. почтовик+проверка на вирусы
поставил postfix, вроде прикрутил clamav+calmsmtpd, но при тесте почему то не может создать clamd.sock и письмо не доходит до адресата. менял права на каталог, менял каталог - нифига.
http://www.citforum.ru/operating_systems/linux/clamav_postfix/
>Привествую всех.
>Делаю инет-шлюз на линухе (mandriva выбор дистриба - другой вопрос) надо:
>1. почтовик+проверка на вирусы
>поставил postfix, вроде прикрутил clamav+calmsmtpd, но при тесте почему то не может
>создать clamd.sock и письмо не доходит до адресата. менял права на
>каталог, менял каталог - нифига.
Очень похоже, что clamd запускается от пользователя clamav
clamd.conf
...
User clamav
...а clamsmtpd.conf
...
User: clamav
...
вероятно закоментировано
Извиняюсь за длинный пост - настройки:clamd.conf
LogFile /var/log/clamav/clamd.log
LogVerbose
PidFile /var/run/clamav/clamd.pid
TemporaryDirectory /var/lib/clamav/tmp
DatabaseDirectory /var/lib/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket
MaxThreads 64
ReadTimeout 300
FollowDirectorySymlinks
FollowFileSymlinks
User clamav
AllowSupplementaryGroups
ScanPE
ScanOLE2
ScanMail
ScanHTML
ScanArchiveclamsmtpd.conf
OutAddress: 10026
Listen:0.0.0.0:10025
ClamAddress: /var/run/clamav/clamd.sock
TempDirectory: /tmp
User: clamavmain.cf
# These are only the parameteus changed from a default install
# see /etc/postfix/main.cf.dist for a commented, fuller version of this file.# These are changed by postfix install script
readme_directory = /usr/share/doc/postfix-2.1.5/README_FILES
sample_directory = /usr/share/doc/postfix-2.1.5/samples
html_directory = /usr/share/doc/postfix-2.1.5/html
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
command_directory = /usr/sbin
manpage_directory = /usr/share/man
daemon_directory = /usr/lib/postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
queue_directory = /var/spool/postfix
mail_owner = postfix# User configurable parameters
myhostname = mail.svet.ru
mydomain = svet.ru
inet_interfaces = localhost, 192.168.0.29
mydestination = $myhostname, $mydomain
#mynetworks_style = host
mynetworsks_style = 192.168.0.0/24
delay_warning_time = 4h
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrakelinux)
unknown_local_recipient_reject_code = 450
smtp-filter_destination_concurrency_limit = 2
lmtp-filter_destination_concurrency_limit = 2
smtpd_sasl_path = /etc/postfix/sasl:/usr/lib/sasl2
recipient_delimiter = +
owner_request_special = no
alias_maps = hash:/etc/postfix/aliases
#, hash:/var/lib/mailman/data/aliasescontent_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings
master.cfsmtp inet n - y - - smtpd
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes -o smtpd_etrn_restrictions=reject
#628 inet n - n - - qmqpd
pickup fifo n - y 60 1 pickup
-o content_filter=
-o receive_override_options=
cleanup unix n - y - 0 cleanup
qmgr fifo n - y 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr fifo - - y 300 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - y - - showq
error unix - - y - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# maildrop. See the Postfix MAILDROP_README file for details.
#
maildrop unix - n n - - pipe
flags=DRhu user=nobody argv=/usr/bin/maildrop -d ${recipient}
#
# Cyrus. Please See the Postfix CYRUS_README file for details
#
# deliver interface (deprecated), to use this also use
# postconf -e cyrus-deliver_destination_recipient_limit=1
cyrus-deliver unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
#
# for default cyrus socket placement
cyrus unix - n n - - lmtp
-o lmtp_cache_connection=yes
#
# if you configure cyrus socket in the chroot jail
cyrus-chroot unix - - y - - lmtp
-o lmtp_cache_connection=yes
#
# for lmtp to cyrus via tcp
cyrus-inet unix - - y - - lmtp
-o lmtp_cache_connection=yes
-o lmtp_sasl_auth_enable=yes
-o lmtp_sasl_password_maps=hash:/etc/postfix/cyrus_lmtp_sasl_pass
-o lmtp_sasl_security_options=noanonymous
#
# UUCP. Unix to Unix CoPy
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=/usr/bin/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# these are not distributed with Mandrakelinux
#
#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##### START OF CONTENT FILTER CUSTOMIZATIONS #####
# Please see the Postfix FILTER_README for details.
# These sample entries expect your content filter to
# listen on port 10025 and to inject mail back into
# postfix on port 10026.
#
# to enable such content filter run the command
# postconf -e content_filter=smtp-filter:127.0.0.1:10025
# postconf -e smtp-filter_destination_concurrency_limit=2
# or
# postconf -e content_filter=lmtp-filter:127.0.0.1:10025
# postconf -e lmtp-filter_destination_concurrency_limit=2
# and the command
# postconf -e receive_override_options=no_address_mappings
#
# AV scan
scan unix - - n - 16 smtp127.0.0.1:10026 inet n - n - - smtpd
-o content_filter=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
# -o smtpd_client_connection_limit_exceptions=127.0.0.0/8lmtp-filter unix - - y - - lmtp
-o lmtp_data_done_timeout=1200
-o smtp_send_xforward_command=yessmtp-filter unix - - y - - smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes##### END OF CONTENT FILTER CUSTOMIZATIONS #####
а вот что выдает postfixNov 9 08:46:34 router ipop3d[7130]: pop3 service init from 192.168.0.23
Nov 9 08:46:34 router ipop3d[7130]: Login user=denis host=[192.168.0.23] nmsgs=0/0
Nov 9 08:46:34 router ipop3d[7130]: Logout user=denis host=[192.168.0.23] nmsgs=0 ndele=0
Nov 9 08:56:53 router postfix/smtpd[7171]: connect from unknown[192.168.0.23]
Nov 9 08:56:53 router postfix/smtpd[7171]: 40121489D: client=unknown[192.168.0.23]
Nov 9 08:56:53 router postfix/cleanup[7174]: 40121489D: message-id=<253287879.20051109085919@svet.ru>
Nov 9 08:56:53 router postfix/qmgr[7119]: 40121489D: from=<denis@svet.ru>, size=672, nrcpt=1 (queue active)
Nov 9 08:56:53 router postfix/smtp[7175]: connect to 127.0.0.1[127.0.0.1]: Connection refused (port 10025)далее ошибки ?
Nov 9 08:56:53 router postfix/smtp[7175]: 40121489D: to=<tools@svet.ru>, relay=none, delay=0, status=deferred (connect to 127.0.0.1[127.0.0.1]: Connection refused)
Nov 9 08:56:53 router postfix/smtpd[7171]: disconnect from unknown[192.168.0.23]
>далее ошибки ?
>
>Nov 9 08:56:53 router postfix/smtp[7175]: 40121489D: to=<tools@svet.ru>, relay=none, delay=0, status=deferred (connect to 127.0.0.1[127.0.0.1]: Connection refused)
>Nov 9 08:56:53 router postfix/smtpd[7171]: disconnect from unknown[192.168.0.23]
а разве
mynetworsks_style = 192.168.0.0/24
и
mynetworsks = 192.168.0.0/24
одно и тоже?
я, почему-то, не вижу в main.cf этого параметраmynetworsks = 192.168.0.0/24, 127.0.0.0/8
(127.0.0.0/8 - обязательно)
Для начала убедитесь, что clamd успешно запускается, создает файл сокета, pid-файл.>smtp-filter_destination_concurrency_limit = 2
>lmtp-filter_destination_concurrency_limit = 2
Правильно будет так./etc/postfix/master.cf:
smtp-filter unix - - y - - smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o smtp_destination_concurrency_limit=2lmtp-filter unix - - y - - lmtp
-o lmtp_data_done_timeout=1200
-o lmtp_send_xforward_command=yes
-o lmtp_destination_concurrency_limit=2
>Для начала убедитесь, что clamd успешно запускается, создает файл сокета, pid-файл.А вот тут еще одна непонятка. clamd я не нашел вообще, ставил из rpm пакетов, и rpm -q clamav гворит что пакет установлен. ни файл сокета ни pid не создались.
Часто clamd "идет" отдельным пакетом.rpm -qa clam*
clamav-0.86.2-1.1.el3.rf
clamav-db-0.86.2-1.1.el3.rf
clamd-0.86.2-1.1.el3.rf
спасибо. все заработало. тока почему то clamsmtpd считывает конф из /usr/etc, а не как в доке /usr/local/etc. но это думаю мелочи.