Qmail, clamd, spamassasin (аля qmailrock)
Категория: / DEV Блог
/ Сервер (FreeBSD)
clamd
Контроллер
/usr/local/etc/rc.d/clamd.sh
Не стартует clamd после обновления.
Посмотреть ldd все ли сошки на месте
# Обновить вирусную базу
freshclam
При отправке писем возникает ошибка:
Делаем
Не стартует из за невозможности обновления антивирусных баз??
Утилита для управления очередью qmail
QMQTool
qmHandle
Более простая, но с интересными возможностями.
Устанавливаем -
pkg_add -r qmhandle
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/qmhandle.tbz... Done.
Боремся с doublebounce-ингом
Если вы видите подобные вещи в своей системе
Это значит вас спамят на несуществующие ящики и ваш хост пытается сообщить об ошибке отправителю -
при этом расходуется как трафик так и ресурсы системы.
Запрещаем этот беспредел:
Альтернативным методом - является создание "фиктивного" пользователя почты и запись его в doublebounceto.
Далее, для этого пользователя правим файл .qmail и прописываем туда "|exit 0" (без кавычек).
Контроллер
/usr/local/etc/rc.d/clamd.sh
Не стартует clamd после обновления.
Посмотреть ldd все ли сошки на месте
/libexec/ld-elf.so.1: Shared object "libcurl.so.3" not found, required by "clamd"
[root@host /usr/local/etc/rc.d]# whereis clamd
clamd: /usr/local/sbin/clamd
[root@host /usr/local/etc/rc.d]# ldd /usr/local/sbin/clamd
# Обновить вирусную базу
freshclam
При отправке писем возникает ошибка:
Temporary server error [451 qq temporary problem (#4.3.0)]
#В логах
Mon Aug 13 13:21:20 2007 -> Reading databases from /usr/local/share/clamav
Mon Aug 13 14:41:53 2007 -> ERROR: Unable to open file or directory
Делаем
chmod 665 на daily.inc и main.inc
/usr/local/share/clamav
Не стартует из за невозможности обновления антивирусных баз??
удаляем папку daily.inc в /usr/local/share/clamav, рестартим clamd
freshclam:
Ignoring mirror 62.181.41.8 (too often connections with outdated version)
Ignoring mirror 80.93.48.167 (too often connections with outdated version)
Утилита для управления очередью qmail
QMQTool
Usage: qmqtool [-OPTIONS [-MORE_OPTIONS]] [--] [PROGRAM_ARG1 ...]
The following single-character options are accepted:
With arguments: -n -v -f -o -E -U -B
Boolean (without arguments): -h -l -L -R -S -T -s -Q -c -r -i -w -V
Options may be merged together. -- stops processing of options.
Space is not required between options and their arguments.
[Now continuing due to backward compatibility and excessive paranoia.
See ``perldoc Getopt::Std'' about $Getopt::Std::STANDARD_HELP_VERSION.]
qmqtool version 1.12
syntax: qmqtool [-l] [-L] [-R] [-S [-nN]] [-T] [-s] [-Q] [-c] [-r] [-i [-nN]] [-V]
[-E(A|R|L)] [-U(A|R|L)] [-vN [-w]] [-e(N|[-f 'STRING'|-oN])] [-u(N|[-f 'STRING'|-oN])]
[-d(N|[-f 'STRING'|-oN])] [-f 'STRING'] [-oN] [-B(b|r)]
-l list messages in all parts of the queue
-L list messages in local queue
-R list messages in remote queue
-T list messages in todo queue
-s show statistical information
-Q be as quiet as possible (useful for snmp, cron, and such)
-V be more verbose
-B
b Backup queue into /var/qmail/queue.backup/
r Restore backup from /var/qmail/queue.backup/
-c check queue consitancy
-r repair queue (by deleting fragments) found by checking queue consistancy
-i show how many messages are queued per ip
-nN pay attention to the Nth last smtp-hop
-S show how many bytes are queued per ip
-e expire message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-u unexpire message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-d delete message
may specify N (multiples may be comma separated), or -f 'STRING' and/or -o N
-E expire messages in [A]ll, [R]emote, or [L]ocal queues
-U unexpire messages in [A]ll, [R]emote, or [L]ocal queues
-v
N view first 100 lines of message number N
N -w view whole message N
-f 'STRING' display comma separated list of message number(s) containing STRING.
prints 0 if no matches are found.
-o N display comma separated list of message number(s) older than N hours.
prints 0 if no matches are found.
qmHandle
Более простая, но с интересными возможностями.
Устанавливаем -
pkg_add -r qmhandle
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/qmhandle.tbz... Done.
[root# /var/qmail/control]# qmHandle --help
qmHandle v1.3.2
Copyright 1998-2003 Michele Beltrame
Available parameters:
-a : try to send queued messages now (qmail must be running)
-l : list message queues
-L : list local message queue
-R : list remote message queue
-s : show some statistics
-mN : display message number N
-dN : delete message number N
-fsender : delete message from sender
-f're' : delete message from senders matching regular expression re
-Stext : delete all messages that have/contain text as Subject
-h're' : delete all messages with headers matching regular expression re (case insensitive)
-b're' : delete all messages with body matching regular expression re (case insensitive)
-H're' : delete all messages with headers matching regular expression re (case sensitive)
-B're' : delete all messages with body matching regular expression re (case sensitive)
-t're' : flag messages with recipients in regular expression 're' for earlier retry (note: this lengthens the time message can stay in queue)
-D : delete all messages in the queue (local and remote)
-V : print program version
Additional (optional) parameters:
-c : display colored output
-N : list message numbers only
(to be used either with -l, -L or -R)
You can view/delete multiple message i.e. -d123 -v456 -d567
Боремся с doublebounce-ингом
Если вы видите подобные вещи в своей системе
[root@4style /var/qmail/control]# ps ax | grep qmail-re
19167 ?? I 0:00.00 qmail-remote bonvoyagecharny.com ihvwmamrh@bonvoyagecharny.com
27398 ?? I 0:00.00 qmail-remote yahoo.com.au iazgu3@yahoo.com.au
33437 ?? I 0:00.00 qmail-remote yahoo.com.au hzmxw3@yahoo.com.au
36546 ?? I 0:00.00 qmail-remote bluesmog.com dsy@bluesmog.com
36747 ?? I 0:00.00 qmail-remote yahoo.com dance2franki@yahoo.com
38715 ?? I 0:00.00 qmail-remote chan.ne.jp inadequate006@chan.ne.jp
39184 ?? I 0:00.00 qmail-remote dva.gov.au |stuart.fraser@dva.gov.au
Это значит вас спамят на несуществующие ящики и ваш хост пытается сообщить об ошибке отправителю -
при этом расходуется как трафик так и ресурсы системы.
Запрещаем этот беспредел:
#Записываем в файл "#" решетку
/var/qmail/control/doublebounceto
qmailctl restart
Альтернативным методом - является создание "фиктивного" пользователя почты и запись его в doublebounceto.
Далее, для этого пользователя правим файл .qmail и прописываем туда "|exit 0" (без кавычек).
В /var/qmail/control/concurrencyincoming было 32
Поставил 128..