Показать полную графическую версию : [решено] Проблемы с postgrey
INTELLIGENTIK
18-12-2006, 20:43
Всем доброго времени суток.
В обзем есть проблемочка одна. Я поднял рутер, сделал редирект 25 порта, все работает.... Только вот не заводится postgrey
пишет
Error: --unix or --inet must be specified
покопав маны нашел
-h, --help display this help and exit
--version output version information and exit
-v, --verbose increase verbosity level
-u, --unix=PATH listen on unix socket PATH
-i, --inet=[HOST:]PORT listen on PORT, localhost if HOST is not specified
-d, --daemonize run in the background
--pidfile=PATH put daemon pid into this file
--user=USER run as USER (default: postgrey)
--group=GROUP run as group GROUP (default: nogroup)
--dbdir=PATH put db files in PATH (default: /var/spool/postfix/postgrey)
--delay=N greylist for N seconds (default: 300)
--max-age=N delete entries older than N days since the last time
that they have been seen (default: 35)
--retry-window=N allow only N days for the first retrial (default: 2)
append 'h' if you want to specify it in hours
--greylist-action=A if greylisted, return A to Postfix (default: DEFER_IF_PERMIT)
--greylist-text=TXT response when a mail is greylisted
(default: Greylisted for %s seconds + help url, see below)
--lookup-by-subnet strip the last 8 bits from IP addresses (default)
--lookup-by-host do not strip the last 8 bits from IP addresses
--whitelist-clients=FILE default: /usr/local/etc/postfix/postgrey_whitelist_clients
--whitelist-recipients=FILE default: /usr/local/etc/postfix/postgrey_whitelist_recipients
--auto-whitelist-clients=N whitelist host after first successful delievery
N is the minimal count of mails before a client is
whitelisted (turned on by default with value 5)
specify N=0 to disable.
--privacy store data using one-way hash functions
Note that the --whitelist-x options can be specified multiple times,
and that per default /usr/local/etc/postfix/postgrey_whitelist_clients.local is
also read, so that you can put there local entries.
В частности интересуют строки
-u, --unix=PATH listen on unix socket PATH
-i, --inet=[HOST:]PORT listen on PORT, localhost if HOST is not specified
при этом настройка выполнена его в main.cf
smtpd_recipient_restrictions = permit_sasl_authenticated,
reject_unauth_destination,
check_policy_service inet:127.0.0.1:10023
Так же sockstat выдает
postfix smtpd 642 13 tcp4 127.0.0.1:60833 127.0.0.1:10023
postfix smtpd 630 6 tcp4 *:25 *
postfix smtpd 630 7 dgram -> /var/run/logpriv
postfix smtpd 630 13 tcp4 127.0.0.1:50896 127.0.0.1:10023
не пойму что происходит, порт есть, все вроде как запущено(кроме постгрей), но вот ругается негодяй... пролейте свет как говорится, а то совсем запутался.
INTELLIGENTIK
19-12-2006, 10:03
Спасибо BuGfiX за помощь, проблема старта решенаю.
Дело в том что по какой то непонятной причине сокет 10023 забитый постфиксом для работы постгрей не работал. Точнее работал, но постгрей при обращении говорил что сокет (порт) занят.
нужно было ввести
postgrey -d -inet localhost:1023
И я увидел долгожданное
Dec 19 09:57:34 mail-ix postgrey[4107]: Process Backgrounded
Dec 19 09:57:34 mail-ix postgrey[4107]: 2006/12/19-09:57:34 postgrey (type Net::Server::Multiplex) starting! pid(4107)
Dec 19 09:57:34 mail-ix postgrey[4107]: Binding to TCP port 1023 on host localhost
Dec 19 09:57:34 mail-ix postgrey[4107]: Setting gid to "65533 65533"
Dec 19 09:57:34 mail-ix postgrey[4107]: Setting uid to "225"
Dec 19 09:57:35 mail-ix postfix/smtpd[4108]: warning: 192.168.2.101: hostname router.ridom.lan.2.168.192.in-addr.arpa verification failed: hostname nor servname provided, or not known
Dec 19 09:57:35 mail-ix postfix/smtpd[4108]: connect from unknown[192.168.2.101]
Но все равно грей листы не работают. В логах должна присутвовать строка
450 <testuser@home.net.>: Recipient address rejected: Greylisted for 300 seconds (see
http://isg.ee.ethz.ch/tools/postgrey/help/home.net.html); from=<root@work.net.> to=<testuser@home.net.> pro
to=ESMTP helo=<mail.work.net>
Меня её в логах нет. Плизз помогите если кто сталкивался с похожим, статьи и маны подойдут на любом языке(благо есть переводчики), все что сам нашел не помогло.
Я ставил из портов + эта статья (http://www.debuntu.org/postfix-and-postgrey-a-proactive-approach-to-spam-filtering) (она для какого-то линуха, судя по apt-get install postgrey). Работает. Какая версия postfix у тебя?
INTELLIGENTIK
19-12-2006, 15:03
версия
mail-ix# postgrey --version
postgrey 1.24
Sadok плизз скинь логи свои на постфиксе. нужно посмотреть как у других работает постгрей по логам. А то он у меня стартует но в логах типа того что он ставит письмо на 300 милисекунд (или скока там задаш) нет :-(
По поводу статьи, у меня все так же, только порт по работе с постгрей 10023 ....
часто ругается на рутера через которого он письма отправляет
Dec 19 09:57:35 mail-ix postfix/smtpd[4108]: warning: 192.168.2.101: hostname router.ridom.lan.2.168.192.in-addr.arpa verification failed: hostname nor servname provided, or not known
при этом на самом серваке при nslookup
mail-ix# nslookup router.ridom.lan
Server: 192.168.2.254
Address: 192.168.2.254#53
Name: router.ridom.lan
Address: 192.168.2.101
mail-ix# nslookup 192.168.2.101
Server: 192.168.2.254
Address: 192.168.2.254#53
101.2.168.192.in-addr.arpa name = router.ridom.lan.2.168.192.in-addr.arpa.
mail-ix#
INTELLIGENTIK
у меня postgrey 1.27 и postfix 2.4. Логи постгрея выглядят так:
Dec 20 11:59:32 gw postfix/smtpd[71498]: NOQUEUE: reject: RCPT from host181-35-dynamic.3-87-r.retail.telecomitalia.it[87.3.35.181]:
450 4.7.1 <sales@firma.ru>: Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/firma.ru.html;
from=<vqwwiny@retail.telecomitalia.it> to=<sales@firma.ru> proto=SMTP helo=<retail.telecomitalia.it>
Я про версию postfix спрашивал потому, что с начала пытался прикрутить постгрей на какой-то дрений постфикс (2.0....), а он не поддерживает методов проверки check_policy_service inet:
INTELLIGENTIK
26-12-2006, 13:52
Sadok спасибочки :-)
уже скока мучаюсь а все одно и тоже, не зваодится :-( спам замучал, эхх я бы этих спамеров под расстрел поставил :-(
версия postfix 2.2.10_1,1
postgrey 1.24
Думаю все строить заново (+ Ldapi вводить буду)
вот только вопросик тем кто использовал imap, он символические ссылки нормально подхватывает, как он в работе, насколько грузит сетку, какие неудобства пользователям приносит...??? Плизз ребята помогите...
INTELLIGENTIK
06-01-2007, 18:23
Возвращусь к проблеме postgrey
Jan 6 18:14:18 mail-srv postgrey[6341]: Process Backgrounded
Jan 6 18:14:18 mail-srv postgrey[6341]: 2007/01/06-18:14:18 postgrey (type Net::Server::Multiplex) starting! pid(6341)
Jan 6 18:14:18 mail-srv postgrey[6341]: Binding to TCP port 10023 on host localhost
Jan 6 18:14:18 mail-srv postgrey[6341]: 2007/01/06-18:14:18 Can't connect to TCP port 10023 on localhost [Address already in use] at line 88 in file /usr/local/lib/perl5/site_perl/5.8.8/Net/Server/Proto/TCP.pm
Jan 6 18:14:18 mail-srv postgrey[6341]: 2007/01/06-18:14:18 Server closing!
не пойму. говорит что порт забит, так этот порт остался специально для него.
помогите
вот main.cf и значения smtpd_recipient_restrictions
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, permit_auth_destination, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, check_recipient_access hash:$base/recipient_access, reject_unlisted_recipient, reject_unknown_recipient_domain, reject_non_fqdn_recipient, reject_unverified_recipient, reject
Все делал по ману к postgrey -> #perldock postgrey
Не помогает ничего
версии
FreeBSD 6.1
postfix-2.3.5,1
postgrey-1.27
Странно, делал перед установкой cvsup полный, и у меня портирован postfix-2.3.5. To Sadok ты через порты разворачивал или через pkg_add ???
И ещё одна странность, у человека писавшего статью работает postgrey на версии Postfix 2.2.5, которая старше моей малость.
Дело в том что если бы постфикс не поддерживал check_policy_service inet:127.0.0.1:10023 то он бы ругался у меня на синтаксис файла main.cf при вводе #postfix check. А ведь не ругается, вроде все правильно.
конечно можно посадить на другой порт через #postgrey --inet=10024 -d на смысл тот же, правда заводится но логи пусты и спама просто до ужаса много.
Да и ещё, хотелось бы спросить мнения о postfixadmin, поствил, балуюсь сижу. Как он вам ? как в работе ? Просто в нете о нем мало чего хорошего говорят....
To Sadok ты через порты разворачивал или через pkg_add ???
Я ставил из портов
Дело в том что если бы постфикс не поддерживал check_policy_service inet:127.0.0.1:10023 то он бы ругался у меня на синтаксис файла main.cf при вводе #postfix check. А ведь не ругается, вроде все правильно
Мой предыдущий (древний) postfix вис на старте. Никаких руганей не было.
INTELLIGENTIK
08-01-2007, 16:18
В том то и дело что не виснет, мне это не понятно. Тоесть он эту комманду воспринимает как надо. Порт он резервирует.
Чудеса какие то...
Где же наши гуру. Может кто помогеть :-( или про комментирует или хотя бы подскажет куда копать. Манов по postgrey очень очень мало...
INTELLIGENTIK
12-01-2007, 09:58
Все решил проблему, докопался таки :-)
в общем как заставить работать Postfix 2.2.10 и скрипты Postgrey 1.27 если вы уже установили и в логах нет того самого greylisting
сначало чистим полностью файлы
postgrey_whitelist_clients
postgrey_whitelist_recipients
Убиваем процесс postgrey
смотрим через top PID
kill ....
Затем делаем инициализацию базы данных postgrey которая работает с файлами данных berkleyDB. По чему то по ману мы должны создать каталог /var/spool/postfix/postgrey, но это не так, при инсталле он все закидывает в /var/db/postgrey (неплохо бы проверить заниул он туда чего или нет).
в общем, смотрим в стопе ли у нас postgrey и если в его в процессах нет тогда вводим
postgrey --inet=10023
Этой коммандой как я понял инициализурет базу данных и создает правило по какому порту он будет работать (если только --inet=10023 то по умолчанию у него localhost)
Вот мои настройки в main.cf
smtpd_recipient_restrictions = check_recipient_access hash:$base/recipient_access, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, check_policy_service inet:127.0.0.1:10023, permit
Теперь о граблях которых нет в манах.
Дело в том что если у вас в smtpd_recipient_restrictions не указана опция permit_mynetworks и в permit_mynetworks стоит только 127.0.0.1 (ты вы видимо очень недоверчивый админ :-) ) Тогда в обещм надо добавить в
postgrey_whitelist_clients
название вашего домена.
Потом делаем старт демона
postgrey --inet=10023 -d
И усё, у меня так он завелся.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.