URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96797
[ Назад ]

Исходное сообщение
"Postfix и перенаправление локальной почты с возвратом"

Отправлено Zuyza , 21-Янв-17 12:31 
Приветствую!

Уважаемые гуру postfix, подскажите пожалуйста, можно ли настроить его таким образом, чтобы локальная почта (только локальная!) перенаправлялась на сторонний сервер, после чего возвращалась назад и доставлялась адресату?

Функционал content_filter подходит почти идеально, но он отправляет ВСЮ почту, которая пришла на указанный smtp-интерфейс (а на него, понятно, почтовый клиент отпрвляет как внутреннюю, так и внешнюю почту), нужно же только локальную. Можно ли это как-то настоить? Подскажите, как!

Второй логический вариант - разделить почту на уровне севисов в master.cf. Т.е. пришла почта на 192.168.1.10, там, где @domen.local - уходит на filter.local, а все остальное на relay.mail. А возвращаться же она будет на 192.168.2.20 - обработай и доставь адресату. (т.е. аля-запись вида в transport_map: "domen.local :").
(Можно и на одном Ip, с разными портами, не суть важно)
Но так настроить у меня не выходит, возможно потому, что конфиг master.cf недоумевает, как это в нем оказалась запись вида transport_map=hash:/....." :)))
Если же я использую transport_map в main.cf, то почта просто зацикливается, т.к. transport_map идет для ВСЕХ ip-адресов сервера.

Подскажите пожалуйста, можно ли в принципе сделать так, как требуется, и при помощи каких механизмов?
Может просто я туплю, что очень вероятно))


Содержание

Сообщения в этом обсуждении
"Postfix и перенаправление локальной почты с возвратом"
Отправлено Bootmen , 21-Янв-17 13:42 
>[оверквотинг удален]
> 192.168.2.20 - обработай и доставь адресату. (т.е. аля-запись вида в transport_map:
> "domen.local :").
> (Можно и на одном Ip, с разными портами, не суть важно)
> Но так настроить у меня не выходит, возможно потому, что конфиг master.cf
> недоумевает, как это в нем оказалась запись вида transport_map=hash:/....." :)))
> Если же я использую transport_map в main.cf, то почта просто зацикливается, т.к.
> transport_map идет для ВСЕХ ip-адресов сервера.
> Подскажите пожалуйста, можно ли в принципе сделать так, как требуется, и при
> помощи каких механизмов?
> Может просто я туплю, что очень вероятно))

Запутано как то
Я так понял- вам нужно почту приходящую с локальных IP кудато перенаправлять?



"Postfix и перенаправление локальной почты с возвратом"
Отправлено Zuyza , 21-Янв-17 14:03 
> Запутано как то
> Я так понял- вам нужно почту приходящую с локальных IP кудато перенаправлять?

Да. Мне нужно всю локальную почту переправлять на проверку с ВОЗВАТОМ.
1. Вася отправил Ане (оба сотрудники, почта внутрення)
2. Письмо от Васи попало на Postfix
3. Postfix переправил письмо на filter.local
4. Filter.local проверил и отправил на postfix
5. Postfix получил письмо от Васи - Ане, и доставил адресату.

Если п.3 реализовать content_filter=smtp:filter.local:25 то ВСЯ почта от Васи попадет на filter.local. В том числе, если письмо будет на Mail.ru и тд. Мне так не надо. Только внутренняя почта должна идти на поверку

Если п.3 я реализовываю через main.cf
transport_map=hash:/etc/postfix/transport
vi /etc/postfix/transport
domen.local smtp:filter.local:25
* smtp:exchange.mail.local:25

То происходит такая цепочка
Внутреннее письмо на постфикс - переправка на фильтр - фильтр вернул на постфикс - постфикс посмотрел transport_map и отравил на фильтр. И так до бесконечности.


"Postfix и перенаправление локальной почты с возвратом"
Отправлено Bootmen , 21-Янв-17 14:24 
>[оверквотинг удален]
> поверку
> Если п.3 я реализовываю через main.cf
> transport_map=hash:/etc/postfix/transport
> vi /etc/postfix/transport
> domen.local smtp:filter.local:25
> * smtp:exchange.mail.local:25
> То происходит такая цепочка
> Внутреннее письмо на постфикс - переправка на фильтр - фильтр вернул на
> постфикс - постфикс посмотрел transport_map и отравил на фильтр. И так
> до бесконечности.

А пользователя нужно различать по локальному IP или mydomen достаточно?



"Postfix и перенаправление локальной почты с возвратом"
Отправлено Zuyza , 21-Янв-17 14:33 

> А пользователя нужно различать по локальному IP или mydomen достаточно?

Достаточно по mydomen



"Postfix и перенаправление локальной почты с возвратом"
Отправлено Bootmen , 21-Янв-17 15:08 
>> А пользователя нужно различать по локальному IP или mydomen достаточно?
> Достаточно по mydomen

А вообще эта схема сильно нужна?
Отправка на др сервер потом возврат и отправка уже адресату...
Если вам нужны просто копии писем отправлять на сторонний сервер, то все проще.
Или вы на др сервере собираетесь проходящую почту модифицировать?


"Postfix и перенаправление локальной почты с возвратом"
Отправлено Zuyza , 21-Янв-17 16:40 

> А вообще эта схема сильно нужна?
> Отправка на др сервер потом возврат и отправка уже адресату...
> Если вам нужны просто копии писем отправлять на сторонний сервер, то все
> проще.
> Или вы на др сервере собираетесь проходящую почту модифицировать?

К сожалению сильно.
Да, на фильтре будет модификация, блокировка и тд. Но это проблемы фильтра и они решаемы.
Нужно, чтобы если фильтр отдал письмо - доставить его через postfix внутреннему адресату. Ну и при этом, повторюсь, на фильтр пересылать только внутреннюю почту.

Конечно, если это никак - настрою все на фильтр через content_filter, и уже на самом фильтре буду сразу отсекать "внешние" письма и слать их на mail.relay.
Но это, конечно, лишняя нагрузка на фильтр, которую хотелось бы по возможности избежать...


"Postfix и перенаправление локальной почты с возвратом"
Отправлено Bootmen , 22-Янв-17 01:40 
>[оверквотинг удален]
> Да, на фильтре будет модификация, блокировка и тд. Но это проблемы фильтра
> и они решаемы.
> Нужно, чтобы если фильтр отдал письмо - доставить его через postfix внутреннему
> адресату. Ну и при этом, повторюсь, на фильтр пересылать только внутреннюю
> почту.
> Конечно, если это никак - настрою все на фильтр через content_filter, и
> уже на самом фильтре буду сразу отсекать "внешние" письма и слать
> их на mail.relay.
> Но это, конечно, лишняя нагрузка на фильтр, которую хотелось бы по возможности
> избежать...

Походу вам так и придется сделать. content_filter- или все или ничего.
Хотя можно решить проблему "тольковнутренних узеров" с помощью smtpd_restriction_classes
и отправлять в фильтр прямо из таблиц проверки типа:
/etc/postfix/header_checks:
    /whatever/     FILTER foo:bar
Но, тут можно напороться на зацикливание.


"Postfix и перенаправление локальной почты с возвратом"
Отправлено Square1 , 22-Янв-17 09:18 

>[оверквотинг удален]
> Да, на фильтре будет модификация, блокировка и тд. Но это проблемы фильтра
> и они решаемы.
> Нужно, чтобы если фильтр отдал письмо - доставить его через postfix внутреннему
> адресату. Ну и при этом, повторюсь, на фильтр пересылать только внутреннюю
> почту.
> Конечно, если это никак - настрою все на фильтр через content_filter, и
> уже на самом фильтре буду сразу отсекать "внешние" письма и слать
> их на mail.relay.
> Но это, конечно, лишняя нагрузка на фильтр, которую хотелось бы по возможности
> избежать...

"жуткая нагрузка" в виде одной проверки одного условия...


"Postfix и перенаправление локальной почты с возвратом"
Отправлено Square1 , 22-Янв-17 09:13 
>Если п.3 реализовать content_filter=smtp:filter.local:25 то ВСЯ почта от Васи попадет на filter.local. В том числе, если письмо будет на Mail.ru и тд. Мне так не надо. Только внутренняя почта должна идти на поверку

ну вы же фильтр не как черный ящик используете.
вот и разгребите условия уже фильтром-

если письмо на внешнюю почту - пропустить без модификации...
если письмо таки на внутреннюю почту- таки модифицировать, перлюстрировать...