Sendmail + SpamAssassin - не пинать сильно... форум читал...
Модераторы: Trinity admin`s, Free-lance moderator`s
Sendmail + SpamAssassin - не пинать сильно... форум читал...
Всем привет...
Просьба не пинать сильно..всю жизнь юзал win... решил сделать что-то рботающее на *nix... результат отвратительный... читал форум.. не понимаю в чем проблема
Ситуация следующая.. есть VDS на FreeBSD, используется как почтовый сервер.
На нем стоит sendmail 8.12
поверх вроде бы поставил spamassasin и spamass-milter
Но это все вместе не работает... ну или работает не так.
Сам я это делал впервый раз, так что где может быть ошибка - не знаю!
Что я сделал после установки:
1. Добавил строчки в freebsd.mc
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=T, T=C:15m;S:4m;R:4m;E:10m')
define(`confINPUT_MAIL_FILTERS', `spamassassin')
#make install && make restart
там есть еще какой-то config_file.mc - для созданого виртуального домена... может я не туда строчку вставил?
2.Запустил демоны
2.1. Запуск spamass-milter
#!/bin/sh
DAEMON=/usr/local/sbin/spamass-milter
SOCKET=/var/run/spamass-milter.sock
PIDFILE=/var/run/spamass-milter.pid
SPAMADRESS=тут адрес почты для пересылки спама
case "$1" in
start)
if [ -f "${DAEMON}" -a -x "${DAEMON}" ]
then
"${DAEMON}" -b "${SPAMADRESS}" -p "${SOCKET}" -f &
echo $! > "${PIDFILE}"
sleep 1
kill -HUP `head -1 /var/run/sendmail.pid`
echo -n ' spamass-milter running'
fi
;;
stop)
if [ -f "${PIDFILE}" ]
then
read -r pid junk < "${PIDFILE}"
kill ${pid}
rm -f "${SOCKET}" "${PIDFILE}"
sleep 1
kill -HUP `head -1 /var/run/sendmail.pid`
echo -n ' spamass-milter stopped'
fi
;;
esac
2.2.
Запуск spamd
#!/bin/sh
case "$1" in
start)
kill `ps ax | grep spamd | grep -v grep | awk '{print $1}' | head -1`
>/dev/null 2>/dev/null && echo -n ' spamd'
[ -x /usr/local/bin/spamd ] && /usr/local/bin/spamd -d -x -u nobody \
-s local5 && echo -n ' spamd'
;;
stop)
kill `ps ax | grep spamd | grep -v grep | awk '{print $1}' | head -1`
>/dev/null 2>/dev/null && echo -n ' spamd'
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0
3. local.cf
________________________________________
# don't use agent
use_razor2 0
use_dcc 0
use_pyzor 0
# check rdl
skip_rbl_checks 0
# autowhitelist
use_auto_whitelist 1
auto_whitelist_path /var/spool/filter/.spamassassin/auto_whitelist
# bayes
use_bayes 1
bayes_path /var/spool/filter/.spamassassin/bayes
auto_learn 1
ok_languages en ru de
ok_locales en ru de
# rewrite subject
rewrite_subject 1
subject_tag *SPAM*_HITS_ points* :
required_hits 3.5
allow_user_rules 0
trusted_networks 80.253.12.
whitelist_from *@mail.ru
#required_score 2.0
______________________________________
В результате сего этого ps ax выглядит примерно так:
PID TT STAT TIME COMMAND
33956 ?? SsJ 0:00.15 sendmail: accepting connections (sendmail)
60390 ?? SsJ 0:00.48 /usr/local/bin/perl -T -w /usr/local/bin/spamd -d -D -x -u nobody -C /etc/mail/spamassassin/local.cf_
60463 ?? SJ 0:00.04 spamd child (perl)
60470 ?? SJ 0:00.03 spamd child (perl)
79355 ?? SsJ 0:00.22 /usr/local/sbin/spamass-milter -b spam@gkh-reforma.ru -p /var/run/spamass-milter.sock -f
И нифига не работает!... может кто знает как проверить... или заставить работать все это?
все статьи тут уже читал - не помогает...
делал tail -f /var/log/maillog
чет никакой активности не вижу...т.е. есть логи сендмейла и понять не могу в каком хоть направлении двигаться?
Просьба не пинать сильно..всю жизнь юзал win... решил сделать что-то рботающее на *nix... результат отвратительный... читал форум.. не понимаю в чем проблема
Ситуация следующая.. есть VDS на FreeBSD, используется как почтовый сервер.
На нем стоит sendmail 8.12
поверх вроде бы поставил spamassasin и spamass-milter
Но это все вместе не работает... ну или работает не так.
Сам я это делал впервый раз, так что где может быть ошибка - не знаю!
Что я сделал после установки:
1. Добавил строчки в freebsd.mc
INPUT_MAIL_FILTER(`spamassassin', `S=local:/var/run/spamass-milter.sock, F=T, T=C:15m;S:4m;R:4m;E:10m')
define(`confINPUT_MAIL_FILTERS', `spamassassin')
#make install && make restart
там есть еще какой-то config_file.mc - для созданого виртуального домена... может я не туда строчку вставил?
2.Запустил демоны
2.1. Запуск spamass-milter
#!/bin/sh
DAEMON=/usr/local/sbin/spamass-milter
SOCKET=/var/run/spamass-milter.sock
PIDFILE=/var/run/spamass-milter.pid
SPAMADRESS=тут адрес почты для пересылки спама
case "$1" in
start)
if [ -f "${DAEMON}" -a -x "${DAEMON}" ]
then
"${DAEMON}" -b "${SPAMADRESS}" -p "${SOCKET}" -f &
echo $! > "${PIDFILE}"
sleep 1
kill -HUP `head -1 /var/run/sendmail.pid`
echo -n ' spamass-milter running'
fi
;;
stop)
if [ -f "${PIDFILE}" ]
then
read -r pid junk < "${PIDFILE}"
kill ${pid}
rm -f "${SOCKET}" "${PIDFILE}"
sleep 1
kill -HUP `head -1 /var/run/sendmail.pid`
echo -n ' spamass-milter stopped'
fi
;;
esac
2.2.
Запуск spamd
#!/bin/sh
case "$1" in
start)
kill `ps ax | grep spamd | grep -v grep | awk '{print $1}' | head -1`
>/dev/null 2>/dev/null && echo -n ' spamd'
[ -x /usr/local/bin/spamd ] && /usr/local/bin/spamd -d -x -u nobody \
-s local5 && echo -n ' spamd'
;;
stop)
kill `ps ax | grep spamd | grep -v grep | awk '{print $1}' | head -1`
>/dev/null 2>/dev/null && echo -n ' spamd'
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0
3. local.cf
________________________________________
# don't use agent
use_razor2 0
use_dcc 0
use_pyzor 0
# check rdl
skip_rbl_checks 0
# autowhitelist
use_auto_whitelist 1
auto_whitelist_path /var/spool/filter/.spamassassin/auto_whitelist
# bayes
use_bayes 1
bayes_path /var/spool/filter/.spamassassin/bayes
auto_learn 1
ok_languages en ru de
ok_locales en ru de
# rewrite subject
rewrite_subject 1
subject_tag *SPAM*_HITS_ points* :
required_hits 3.5
allow_user_rules 0
trusted_networks 80.253.12.
whitelist_from *@mail.ru
#required_score 2.0
______________________________________
В результате сего этого ps ax выглядит примерно так:
PID TT STAT TIME COMMAND
33956 ?? SsJ 0:00.15 sendmail: accepting connections (sendmail)
60390 ?? SsJ 0:00.48 /usr/local/bin/perl -T -w /usr/local/bin/spamd -d -D -x -u nobody -C /etc/mail/spamassassin/local.cf_
60463 ?? SJ 0:00.04 spamd child (perl)
60470 ?? SJ 0:00.03 spamd child (perl)
79355 ?? SsJ 0:00.22 /usr/local/sbin/spamass-milter -b spam@gkh-reforma.ru -p /var/run/spamass-milter.sock -f
И нифига не работает!... может кто знает как проверить... или заставить работать все это?
все статьи тут уже читал - не помогает...
делал tail -f /var/log/maillog
чет никакой активности не вижу...т.е. есть логи сендмейла и понять не могу в каком хоть направлении двигаться?
да... запускал:
spamassassin --lint
[95361] warn: config: failed to parse line, skipping: use_razor2 0
[95361] warn: config: failed to parse line, skipping: use_dcc 0
[95361] warn: config: failed to parse line, skipping: auto_learn 1
[95361] warn: config: failed to parse, now a plugin, skipping: ok_languages en ru de
[95361] warn: config: failed to parse line, skipping: rewrite_subject 1
[95361] warn: config: failed to parse line, skipping: subject_tag *SPAM*_HITS_ points* :
[95361] warn: lint: 5 issues detected, please rerun with debug enabled for more information
Почему? версия 3.0.1..вроде как...
Запусал с ключем -D - ничего полезного не увидал... :(
spamassassin --lint
[95361] warn: config: failed to parse line, skipping: use_razor2 0
[95361] warn: config: failed to parse line, skipping: use_dcc 0
[95361] warn: config: failed to parse line, skipping: auto_learn 1
[95361] warn: config: failed to parse, now a plugin, skipping: ok_languages en ru de
[95361] warn: config: failed to parse line, skipping: rewrite_subject 1
[95361] warn: config: failed to parse line, skipping: subject_tag *SPAM*_HITS_ points* :
[95361] warn: lint: 5 issues detected, please rerun with debug enabled for more information
Почему? версия 3.0.1..вроде как...
Запусал с ключем -D - ничего полезного не увидал... :(
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Re: Sendmail + SpamAssassin - не пинать сильно... форум чита
А если еще раз перечитать мою статью и сделать так, как в ней написано?suspam писал(а):Просьба не пинать сильно..всю жизнь юзал win... решил сделать что-то рботающее на *nix... результат отвратительный... читал форум.. не понимаю в чем проблема
Все снес и сделал все заного...
Результат то тже
Точнее я уже вроде как понял почему он не работает:
Mar 9 14:10:22 mail spamc[81801]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Mar 9 14:10:23 mail spamc[81801]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Mar 9 14:10:24 mail spamc[81801]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Mar 9 14:10:25 mail spamc[81801]: connection attempt to spamd aborted after 3 retries
т.е. уже вроде даже как кто-то пытается фильтровать спам... ток, я понять не могу почему spamd падает... или не доступен...
как только я не запускал этот spamd!
и так... /usr/local/bin/spamd -d -x -s local5
и так: spamd -D -u nobody --socketpath=/var/run/spamass.sock -s /var/log/spamd.log -r /var/run/spamd.pid
все равно не работает...
логи смотрел - там теперь ошибок нет, исправил
Результат то тже
Точнее я уже вроде как понял почему он не работает:
Mar 9 14:10:22 mail spamc[81801]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
Mar 9 14:10:23 mail spamc[81801]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Mar 9 14:10:24 mail spamc[81801]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Mar 9 14:10:25 mail spamc[81801]: connection attempt to spamd aborted after 3 retries
т.е. уже вроде даже как кто-то пытается фильтровать спам... ток, я понять не могу почему spamd падает... или не доступен...
как только я не запускал этот spamd!
и так... /usr/local/bin/spamd -d -x -s local5
и так: spamd -D -u nobody --socketpath=/var/run/spamass.sock -s /var/log/spamd.log -r /var/run/spamd.pid
все равно не работает...
логи смотрел - там теперь ошибок нет, исправил
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
эта версия не падая работает на большом количестве подшефных серверовsuspam писал(а):пардон.. версия 3.1.0...
он запускается... несколько секунд весит - и все...
несмотря на очень квалифицированное заявление "читал в инете - весрия 3.0.1 - падает регулярно"
что в /var/log/maillog пишет демон при старте и падении?
что пишет демон в дебаговом режиме?
--
/corvax
/corvax
Вот последние строчки дебага spamdа... почему он перестает работать может кто-нибудь объеснить?
Thu Mar 9 17:32:26 2006 [59199] dbg: spamd: initial attempt to change real uid failed, trying BSD workaround
Thu Mar 9 17:32:26 2006 [59199] dbg: prefork: sysread(7) not ready, wait max 300 secs
Thu Mar 9 17:32:26 2006 [59187] info: spamd: server successfully spawned child process, pid 59199
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child 59199: entering state 0
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: new lowest idle kid: none
Thu Mar 9 17:32:26 2006 [59187] info: spamd: server successfully spawned child process, pid 59201
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child 59201: entering state 0
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: new lowest idle kid: none
Thu Mar 9 17:32:26 2006 [59201] dbg: spamd: initial attempt to change real uid failed, trying BSD workaround
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child 59199: entering state 1
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: new lowest idle kid: 59199
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child reports idle
Thu Mar 9 17:32:26 2006 [59187] info: prefork: child states: IS
Thu Mar 9 17:32:26 2006 [59201] dbg: prefork: sysread(8) not ready, wait max 300 secs
Thu Mar 9 17:32:27 2006 [59187] dbg: prefork: child 59201: entering state 1
Thu Mar 9 17:32:27 2006 [59187] dbg: prefork: new lowest idle kid: 59199
Thu Mar 9 17:32:27 2006 [59187] dbg: prefork: child reports idle
Thu Mar 9 17:32:27 2006 [59187] info: prefork: child states: II
Thu Mar 9 17:32:27 2006 [59201] dbg: prefork: parent closed, exiting
Thu Mar 9 17:32:27 2006 [59199] dbg: prefork: parent closed, exiting
Thu Mar 9 17:32:26 2006 [59199] dbg: spamd: initial attempt to change real uid failed, trying BSD workaround
Thu Mar 9 17:32:26 2006 [59199] dbg: prefork: sysread(7) not ready, wait max 300 secs
Thu Mar 9 17:32:26 2006 [59187] info: spamd: server successfully spawned child process, pid 59199
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child 59199: entering state 0
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: new lowest idle kid: none
Thu Mar 9 17:32:26 2006 [59187] info: spamd: server successfully spawned child process, pid 59201
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child 59201: entering state 0
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: new lowest idle kid: none
Thu Mar 9 17:32:26 2006 [59201] dbg: spamd: initial attempt to change real uid failed, trying BSD workaround
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child 59199: entering state 1
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: new lowest idle kid: 59199
Thu Mar 9 17:32:26 2006 [59187] dbg: prefork: child reports idle
Thu Mar 9 17:32:26 2006 [59187] info: prefork: child states: IS
Thu Mar 9 17:32:26 2006 [59201] dbg: prefork: sysread(8) not ready, wait max 300 secs
Thu Mar 9 17:32:27 2006 [59187] dbg: prefork: child 59201: entering state 1
Thu Mar 9 17:32:27 2006 [59187] dbg: prefork: new lowest idle kid: 59199
Thu Mar 9 17:32:27 2006 [59187] dbg: prefork: child reports idle
Thu Mar 9 17:32:27 2006 [59187] info: prefork: child states: II
Thu Mar 9 17:32:27 2006 [59201] dbg: prefork: parent closed, exiting
Thu Mar 9 17:32:27 2006 [59199] dbg: prefork: parent closed, exiting
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
Я так полагаю, что он не хочет работать от имени ноубоди. При запуске демона он должен создать сокет, то есть как минимум иметь права на создание файла в /var/run. Сделайте нового юзера и запускайте от имени filter например, как - описано здесь в статьях.suspam писал(а):Вот последние строчки дебага spamdа... почему он перестает работать может кто-нибудь объеснить?
- Stranger03
- Сотрудник Тринити
- Сообщения: 12979
- Зарегистрирован: 14 ноя 2003, 16:25
- Откуда: СПб, Екатеринбург
- Контактная информация:
- corvax
- free-lance moderator
- Сообщения: 877
- Зарегистрирован: 06 авг 2004, 17:21
- Откуда: Kiev, Ukraine
- Контактная информация:
suspam писал(а):Создавал пользователя filter - тоже самое...
Вычитал где-то про замысловатый ключик --round-robin - я не знаю что он значит... но пока вроде не падает... но я так и не поня почему?
Может кто знает?
Код: Выделить всё
man spamd | col -b | grep -A 8 "round-robin$"
--
/corvax
/corvax
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 37 гостей