Gimli_r: Postfix+amavisd проблемма взаимодействия

6 сообщений / 0 new
Последнее сообщение
Гость
Gimli_r: Postfix+amavisd проблемма взаимодействия

Софт: postfix, amavis-new, spamassassin на Linux Slackware

Задача: пропускать входящий почтовый трафик через amavis, но не на этапе приема входящей почты (Before-Queue), а уже из очереди постфикса (связано с там что нагрузка на сервер оч. существенная)

Проблемма: постфикс не пропускает письма через amavisd, доставляет нормально, но в заголовках доставленных писем флагов спам фильтров нет, амавис в своих логах о коннектах и проверке ничего не пишет - делаю вывод, что письма в цепочку фильтрации даже и не попадают, сразу доставляются...

Пробовал садиться телнетом на порт, прослушиваемый amavisd (10024) и отправлять письмо прямо оттуда smtp командами - письма обрабатываются и доставляются.

Конфигурил так:

Postfix main.cf:

content_filter = smtp-amavis:localhost:10024

Postfix master.cf:

smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_c
hecks

amavisd.conf

$forward_method = 'smtp:[127.0.0.1]:10025';
$notify_method = $forward_method;
$inet_socket_port = 10024;
$inet_socket_bind = '127.0.0.1';

Подскажите пожалуйста, где ошибка или хотябы в какую сторону копать?

edge (не проверено)

А вот тут наверное все уже написано:
http://www.postfix.org/FILTER_README.html

Gimli_r (не проверено)

Спасибо что хоть на гугл не послали :) естественно я этот документ читал, ему мои настройки не противоречат... но есть одно НО: есть такое место в этом ридми

[blockquote]
The content filter can be set up with the Postfix spawn service, which is the Postfix equivalent of inetd. For example, to instantiate up to 10 content filtering processes on localhost port 10025:
/etc/postfix/master.cf:
# ===================================================================
# service type private unpriv chroot wakeup maxproc command
# (yes) (yes) (yes) (never) (100)
# ===================================================================
localhost:10025 inet n n n - 10 spawn
user=filter argv=/path/to/filter localhost 10026

"filter" is a dedicated local user account. The user will never log in, and can be given a "*" password and non-existent shell and home directory. This user handles all potentially dangerous mail content - that is why it should be a separate account.

If you want to have your filter listening on port localhost:10025 instead of Postfix, then you must run your filter as a stand-alone program, and must not use the Postfix spawn service. [/blockquote]

Собственно как в последнем предложении и написано мой фильтр запущен самостоятельно и слушает соотв ему порт - НО соединения на этот порт постфикс не пытается даже установить! логи коннектов фильтра просто ПУСТЫ, а постфикс в логи пишет следующее (при соединении телнетом на 25 порт и отправке письма вручную)

[blockquote]Oct 17 13:24:39 postfix/smtpd[29693]: connect from localhost[127.0.0.1]
Oct 17 13:24:59 postfix/smtpd[29693]: AD2B11905E3: client=localhost[127.0.0
.1]
Oct 17 13:25:30 postfix/cleanup[29694]: AD2B11905E3: message-id=<2006101709
2459.AD2B11905E3@###>
Oct 17 13:25:30 postfix/qmgr[29479]: AD2B11905E3: from=<test2@###>
, size=366, nrcpt=1 (queue active)
Oct 17 13:25:30 postfix/local[29750]: AD2B11905E3: to=<test1@###>,
orig_to=<test1@###>, relay=local, delay=31, status=sent ("|/usr/bin/procmail
content_filter = smtp-amavis:localhost:10024 receive_override_options = no_addr
ess_mappings")
Oct 17 13:25:40 postfix/smtpd[29693]: disconnect from localhost[127.0.0.1]
[/blockquote]

PS кстати тег code в форуме не пашет !help

<span class='smallblacktext'>[ Редактирование 17.10.2006 - 13:33:46 ]</span>

edge (не проверено)

Звиняйте, но если честно, хватает примерно таких же ежедневных разборок на работе.. Чужие ошибки искать уже под вечер из дома совсем не хочется..
:-)

Gimli_r (не проверено)

Ok, извиняться не за что, естественно, я не заставляю искать мои ошибки :) просто обычно на форумах вопросы задаются в надежде на то, что кто-либо с такой проблеммой сталкивался уже...
Попробую повторить процесс с нуля - может где чего упустил... ну а если кто сталкивался - поделитесь, буду признателен... спасибо

Vitls
Аватар пользователя Vitls
Не в сети
Зарегистрирован: 21/09/2010

У меня проверка почты реализована через связке clamav+clamsmtp. соответственно в main.cf
content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings <-- обрати внимание на это

и в master.cf

smtp inet n - n - - smtpd -o content_filter=scan:127.0.0.1:10025
... немного пропущено...
# AV scan filter (used by content_filter)
scan unix - - n - 16 smtp
-o smtp_send_xforward_command=yes
# For injecting mail back into postfix from the filter
127.0.0.1:10026 inet n - n - 16 smtpd
-o content_filter=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks_style=host
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o smtpd_authorized_xforward_hosts=127.0.0.0/8

Дело не в том как болезнь вылечить.
Дело в том как других заразить.

RSS-материал