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

Исходное сообщение
"Релей не для всех поддоменов"

Отправлено starik , 02-Май-04 13:12 
В наличии - freebsd 4.8, postfix, courier-imap, maildrop.
Нужно запретить релеить почту с определенных доменов, т.е. разрешить ее локальную доставку, но запретить релей.
Подробнее. Есть домен dom.domain.local из него (от юзеров имеющих ящики в этом домене) любая не локальная почта должна релеится на domain.local, а для домена users.dom.domain.local вся нелокальная почта должна реджектится. Куда копать? Нужно что-то типа правил маршрутизации почты...

Содержание

Сообщения в этом обсуждении
"Релей не для всех поддоменов"
Отправлено dev , 02-Май-04 17:32 
>Нужно что-то типа правил маршрутизации почты...

Посмотри man transport


"Релей не для всех поддоменов"
Отправлено starik , 03-Май-04 00:29 
>>Нужно что-то типа правил маршрутизации почты...
>
>Посмотри man transport
Наверное я неправильно выразил свои потребности. Нужно чтобы юзеры с @users.dom.domain.local не могли ничего посылать в инет, но могли посылать например юзерам @users2.dom.domain.local и даже @dom.domain.local, т.е. их почта просто не должна уходить на внешний релей. А вот юзеры c @dom.domain.local могли писать куда захотят и их почта должна уходить на внешний релей. Идеальным вариантом была бы возможность прописывать не только домены, но и конкретные почтовые ящики доменов (но не критично, хватит и так как описал). Почитал этот man - ничего похожего не нашел... или не понял :(

"Релей не для всех поддоменов"
Отправлено dev , 03-Май-04 01:42 
>Наверное я неправильно выразил свои потребности.

Не, все правильно, я так и понял.

>Почитал этот
>man - ничего похожего не нашел... или не понял :(

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

Я вижу несколько возможных путей сделать это. Не факт, что все они рабочие, но можно попробовать.
Главная проблема, что юзеры могут указать любой обратный адрес, в твоем примере vasja@dom.domain.local, и посылать почту куда угодно.

Если тебя это не волнует, то посмотри еще на man 5 access (особенно FILTER) и попытайся их как-то скомбинировать (transport дает возможность указать как посылать письмо, а access - от кого принимать). М.б. еще virtual - он позволяет менять адресата.
Первая попытка - в прописать а access:

users.dom.domain.local reject_unauth_destination

И убедиться, что этот файл указан в smtpd_sender_restrictions.

Если же хочется защититься от подмены адресов, то тогда обязательно sasl. И тогда можно в access указывать permit_sasl_authenticated (если верить документации).

Но возможно, самым простым путем будет запустить для постфикса: один с авторизацией для @dom.domain.local; второй - для остальных.

Повторюсь, все это чисто теоритические рассуждения. Но, например, я делать как-то другую забавную штуку - перехватывать все письма с сервера и пересылать их на один ящик; использовал virtual.