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

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

Отправлено phelixx , 28-Янв-08 14:59 
Приветствую всех!

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

host# postconf mail_version
mail_version = 2.4.6

/etc/postfix/main.cf

myhostname = host.domain.ru
mydomain = domain.ru
mydestination = $mydomain, localhost.$mydomain, localhost
relay_domains = domain.ru
relay_domains_reject_code = 550
relay_recipient_maps = hash:/etc/postfix/relay_recipients
mynetworks = 192.168.0.0/19, 127.0.0.0/8
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, permit_mx_backup
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_client, reject_unknown_sender_domain, reject_unlisted_sender
smtpd_client_restriction = permit_mynetworks, reject_unknown_client
smtpd_helo_restriction = permit_mynetworks, reject_invalid_hostname, reject_unknown_client

/etc/postfix/relay_recipient
@domain.ru      OK

При этих настройках я могу послать письмо от кого угодно куда угодно, т.е. говорю
mail from: tratata@yandex.ru
rcpt to: gfhfhf@mail.ru
ответ
250 2.0.0 Ok: queued as ADD4695896
сообщение в очереди...

Насколько я помню в sendmail все было весьма просто - файл relay-domains - в нем имя домена + директива на relay-domains в sendmail.cf и все

Направьте плиз по правильному пути.....
Спасибо.

Подскажите, ято я не так делаю?


Содержание

Сообщения в этом обсуждении
"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено vn4z , 28-Янв-08 15:17 
>[оверквотинг удален]
>Насколько я помню в sendmail все было весьма просто - файл relay-domains
>- в нем имя домена + директива на relay-domains в sendmail.cf
>и все
>
>Направьте плиз по правильному пути.....
>Спасибо.
>
>
>
>Подскажите, ято я не так делаю?

насколько я помню релай домены вообще никчему, если вы хотите чтоб почта отправлялась только из офиса, если так то оставте только май нетворкс.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 15:23 
>[оверквотинг удален]
>Насколько я помню в sendmail все было весьма просто - файл relay-domains
>- в нем имя домена + директива на relay-domains в sendmail.cf
>и все
>
>Направьте плиз по правильному пути.....
>Спасибо.
>
>
>
>Подскажите, ято я не так делаю?

Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
В частности, Postfix Address Classes.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 15:34 
>[оверквотинг удален]
>>Направьте плиз по правильному пути.....
>>Спасибо.
>>
>>
>>
>>Подскажите, ято я не так делаю?
>
>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>
>В частности, Postfix Address Classes.

Да, забыл написать - postfix планирую использовать как внешний релей. Внутри - эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени @domain.ru.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 15:50 
>[оверквотинг удален]
>>>Подскажите, ято я не так делаю?
>>
>>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>>
>>В частности, Postfix Address Classes.
>
>Да, забыл написать - postfix планирую использовать как внешний релей. Внутри -
>эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше
>релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени
>@domain.ru.

Попробуйте добавить в  smtpd_recipient_restrictions последним пунктом reject_unauth_destination.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 15:57 
>[оверквотинг удален]
>>>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>>>
>>>В частности, Postfix Address Classes.
>>
>>Да, забыл написать - postfix планирую использовать как внешний релей. Внутри -
>>эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше
>>релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени
>>@domain.ru.
>
>Попробуйте добавить в  smtpd_recipient_restrictions последним пунктом reject_unauth_destination.

И еще забыл спросить, что за странный параметр check_relay_domains в smtpd_recipient_restrictions.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 15:58 
>[оверквотинг удален]
>>>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>>>
>>>В частности, Postfix Address Classes.
>>
>>Да, забыл написать - postfix планирую использовать как внешний релей. Внутри -
>>эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше
>>релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени
>>@domain.ru.
>
>Попробуйте добавить в  smtpd_recipient_restrictions последним пунктом reject_unauth_destination.

Уже добавил.Щас правило выглядит так: smtpd_recipient_restrictions =  permit_mynetworks, check_relay_domains, reject_unauth_destination
Результат тот же. Причем когда я пытаюсь отправить почту изнутри НЕ от своего доменного имени (как показал выше), в логах я вижу, что сообщение падает в очередь и пытается уйти, но релей как таковой отсутствует relay = none. Когда же письмо уходит от "правильного имени" - все в порядке.. в логах: relay = intmail.domain.ru, где intmail - алиасное имя для эксченджа. Может ли такое быть, что правила просто не отрабатывают? Например в master.cf может что-то нужно добавить...?


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 16:00 
>[оверквотинг удален]
>>Попробуйте добавить в  smtpd_recipient_restrictions последним пунктом reject_unauth_destination.
>
>Уже добавил.Щас правило выглядит так: smtpd_recipient_restrictions =  permit_mynetworks, check_relay_domains, reject_unauth_destination
>Результат тот же. Причем когда я пытаюсь отправить почту изнутри НЕ от
>своего доменного имени (как показал выше), в логах я вижу, что
>сообщение падает в очередь и пытается уйти, но релей как таковой
>отсутствует relay = none. Когда же письмо уходит от "правильного имени"
>- все в порядке.. в логах: relay = intmail.domain.ru, где intmail
>- алиасное имя для эксченджа. Может ли такое быть, что правила
>просто не отрабатывают? Например в master.cf может что-то нужно добавить...?

Вот что вычитал на postfix.org про данное правило. Решил, что это то что мне нужно...

check_relay_domains
    Permit when the client hostname matches $relay_domains, or when the resolved destination address matches $relay_domains, otherwise reject. The relay_domains_reject_code parameter specifies the response code for rejected requests (default: 550).


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 16:15 
>[оверквотинг удален]
>>просто не отрабатывают? Например в master.cf может что-то нужно добавить...?
>
>Вот что вычитал на postfix.org про данное правило. Решил, что это то
>что мне нужно...
>
> check_relay_domains
>    Permit when the client hostname matches $relay_domains, or
>when the resolved destination address matches $relay_domains, otherwise reject. The relay_domains_reject_code
>parameter specifies the response code for rejected requests (default: 550).
>

Не могу найти описание этого параметра.
Что еще бросилось в глаза:
Зачем Вы указали в mydestination = $mydomain и в relay_domains = domain.ru?
Определитесь, что Вы хотите делать: принимать почту для domain.ru локально или релеить ее.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 16:18 
>[оверквотинг удален]
>>when the resolved destination address matches $relay_domains, otherwise reject. The relay_domains_reject_code
>>parameter specifies the response code for rejected requests (default: 550).
>>
>
>Не могу найти описание этого параметра.
>Что еще бросилось в глаза:
>Зачем Вы указали в mydestination = $mydomain и в relay_domains = domain.ru?
>
>Определитесь, что Вы хотите делать: принимать почту для domain.ru локально или релеить
>ее.

И еще, гда Вы используете этот параметр: relay_recipient_maps = hash:/etc/postfix/relay_recipients?
Тоже не могу найти в Вашем конфиге.
Покажите вывод postconf -n.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 16:32 
>[оверквотинг удален]
>>Не могу найти описание этого параметра.
>>Что еще бросилось в глаза:
>>Зачем Вы указали в mydestination = $mydomain и в relay_domains = domain.ru?
>>
>>Определитесь, что Вы хотите делать: принимать почту для domain.ru локально или релеить
>>ее.
>
>И еще, гда Вы используете этот параметр: relay_recipient_maps = hash:/etc/postfix/relay_recipients?
>Тоже не могу найти в Вашем конфиге.
>Покажите вывод postconf -n.

Локально почту принимать не хочу - нужно релеить на внутренний сервер.

host# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_transport = error:local mail delivery is disabled
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = $mydomain, localhost.$mydomain, localhost
mydomain = domain.ru
myhostname = host.domain.ru
mynetworks = 192.168.0.0/19, 127.0.0.0/8
myorigin = domain.ru
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = domain.ru
relay_domains_reject_code = 550
relay_recipient_maps = hash:/etc/postfix/relay_recipients
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_client, reject_unknown_sender_domain, reject_unlisted_sender
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual



"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 16:49 
>[оверквотинг удален]
>relay_recipient_maps = hash:/etc/postfix/relay_recipients
>sample_directory = /etc/postfix
>sendmail_path = /usr/sbin/sendmail
>setgid_group = postdrop
>smtpd_banner = $myhostname ESMTP $mail_name
>smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
>smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_client, reject_unknown_sender_domain, reject_unlisted_sender
>transport_maps = hash:/etc/postfix/transport
>unknown_local_recipient_reject_code = 550
>virtual_alias_maps = hash:/etc/postfix/virtual

Еще раз говорю: нельзя указывать один и тот же домен в параметрах mydestination и relay_domains.
Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не дает. Дайте ссылку.
Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains и прописать в transport_maps domain.ru   smtp:[ip exchange](если это еще не сделано).


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 16:53 
>[оверквотинг удален]
>
>Еще раз говорю: нельзя указывать один и тот же домен в параметрах
>mydestination и relay_domains.
>Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>дает. Дайте ссылку.
>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>и прописать в transport_maps domain.ru   smtp:[ip exchange](если это еще
>не сделано).
>

Забыл.
Что за странное значение установлено у параметра local_transport?
Верните пока значение по умолчанию. Изменять будете после получения рабочего конфига.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 17:04 
>[оверквотинг удален]
>
>Еще раз говорю: нельзя указывать один и тот же домен в параметрах
>mydestination и relay_domains.
>Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>дает. Дайте ссылку.
>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>и прописать в transport_maps domain.ru   smtp:[ip exchange](если это еще
>не сделано).
>

C mydestination сделал так:
/etc/postfix/main.cf
mydestination =
relay_domains = domain.ru
# почта на эксчендж:
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport
domain.ru       smtp:[intmail.domain.ru]

Ссылка на описание параметра check_relay_domains:
http://www.postfix.org/spam.html

Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
насколько я понял из написаного на postfix.org, - нужно делать так как написано выше, в случае когда машина функционирует именно как релей... или я не прав?



"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 17:07 
>[оверквотинг удален]
>/etc/postfix/transport
>domain.ru       smtp:[intmail.domain.ru]
>
>Ссылка на описание параметра check_relay_domains:
>http://www.postfix.org/spam.html
>
>Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
>насколько я понял из написаного на postfix.org, - нужно делать так как
>написано выше, в случае когда машина функционирует именно как релей... или
>я не прав?

установкой такого значения хотел запретить локальный прием.
local_transport вернул в дефолт.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 17:19 
>[оверквотинг удален]
>>Ссылка на описание параметра check_relay_domains:
>>http://www.postfix.org/spam.html
>>
>>Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
>>насколько я понял из написаного на postfix.org, - нужно делать так как
>>написано выше, в случае когда машина функционирует именно как релей... или
>>я не прав?
>
>установкой такого значения хотел запретить локальный прием.
>local_transport вернул в дефолт.

relay_domains используется для настройки postfix в качестве mx backup сервера, насколько я знаю. У Вас в днс сколько mx записей? Да и это, по-моему, на Ваш случай.
Для Вас же достаточно установить правильно параметр mydestination. А перенаправление почты будет происходить за счет transport_maps. Правда, в этом случае почта будет перенаправляться и для несуществующих пользователей. Чтобы этого не происходило, надо настроить local_recipient_maps(прочтите Rejecting Unknown Local Recipients with Postfix).  Это делают либо выгружая пользователей из Exchange (при их изменении), либо настраивают ldap. Информации в инете полно на эту тему.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 28-Янв-08 17:29 
>[оверквотинг удален]
>>Ссылка на описание параметра check_relay_domains:
>>http://www.postfix.org/spam.html
>>
>>Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
>>насколько я понял из написаного на postfix.org, - нужно делать так как
>>написано выше, в случае когда машина функционирует именно как релей... или
>>я не прав?
>
>установкой такого значения хотел запретить локальный прием.
>local_transport вернул в дефолт.

Хотя, наверное, можно сделать и через relay_domains.
Еще добавьте в конфиг:
strict_rfc821_envelopes = yes
По тому, что Вы написали, все должно работать.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 18:08 
>[оверквотинг удален]
>>>написано выше, в случае когда машина функционирует именно как релей... или
>>>я не прав?
>>
>>установкой такого значения хотел запретить локальный прием.
>>local_transport вернул в дефолт.
>
>Хотя, наверное, можно сделать и через relay_domains.
>Еще добавьте в конфиг:
>strict_rfc821_envelopes = yes
>По тому, что Вы написали, все должно работать.

Дело в том, что перенаправление на внутренний сервер происходит нормально - все работает правильно, про local_recipient_maps тоже вроде все понятно. Я не могу понять как настроить отправку почты изнутри только от имени своего домена. При настройки sendmail, который сейчас фенкционирует в качестве релея я просто указывал в файле relay-domains имя машины и домена:
host.domain.ru
domain.ru
Таким образом получалось, что пользователь изнутри может отправлять почту только от user@domain.ru. В случае если юзер в mail from: пишет user@NEmoydomen.ru и rcpt to: user@NEmoydomen2.ru - получает relaing denied. В данном случае я хочу добиться такого же результата.



"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено ALex_hha , 28-Янв-08 20:08 
>[оверквотинг удален]
>работает правильно, про local_recipient_maps тоже вроде все понятно. Я не могу
>понять как настроить отправку почты изнутри только от имени своего домена.
>При настройки sendmail, который сейчас фенкционирует в качестве релея я просто
>указывал в файле relay-domains имя машины и домена:
>host.domain.ru
>domain.ru
>Таким образом получалось, что пользователь изнутри может отправлять почту только от user@domain.ru.
>В случае если юзер в mail from: пишет user@NEmoydomen.ru и rcpt
>to: user@NEmoydomen2.ru - получает relaing denied. В данном случае я хочу
>добиться такого же результата.

убрать свою локалку из mynetworks, оставить там только ip exchange. На exchange настроить аутентификацию.

Я так понимаю на exchange postfix указан в качестве smart host?

Вообще то по дефолту exchange и не разрешит отправить от другого домена, кроме того, даже от пользователя из его же домена. Т.е. пользователь user1@domain.com по умолчанию не сможет отправить почту от имени user2@domain.com. Для этого необходимо давать специальные права.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено ALex_hha , 28-Янв-08 20:03 
>Еще раз говорю: нельзя указывать один и тот же домен в параметрах
>mydestination и relay_domains.

это кто вам сказал? В документации - relay_domains (default: $mydestination) ;)

>Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>дает. Дайте ссылку.

если не ошибаюсь этот параметр использовался в старых версиях postfix

>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>и прописать в transport_maps domain.ru   smtp:[ip exchange](если это еще
>не сделано).

зачем?



"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 28-Янв-08 20:33 
>[оверквотинг удален]
>>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>>дает. Дайте ссылку.
>
>если не ошибаюсь этот параметр использовался в старых версиях postfix
>
>>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>>и прописать в transport_maps domain.ru   smtp:[ip exchange](если это еще
>>не сделано).
>
>зачем?

На эксе настроен коннектор к sendmail, который сейчас в качестве внешнего релея - не smart host, хотя наверное это без разницы... т.е. правильно ли я понимаю, что так же как в sendmail сделать не получится (релеить почту изнутри только от имени своего домена?) путем указания доменного имени в relay-domains? ограничить можно только по ИП/сеть? Насчет релея извне на внутренний сервер - только что настроил релей путем указания virtual_maps = hash:/etc/postfix/virtual
сам /etc/postfix/virtual содержит записи вида:
user@domain.ru           user@intmail.domain.ru, где intmail - эксчендж. Но в таком случае каждого конкретного юзера мне как я понимаю нужно будет прописывать в virtual. А насчет transport_maps Вы считаете было написано не верно? так я тоже делал, для пересылки всей входящей почты для моего домена на внутренний почтовик...
вообще то пока задача у меня тривиальная - сделать закрытый релей, т.е. чтобы снаружи НЕ могли отсылать письма от имени моего либо какого-то еще домена через мой релей, ну и изнутри почта соответственно должна ходить только от моего имени/имен....


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено ALex_hha , 28-Янв-08 20:55 
>[оверквотинг удален]
>>>и прописать в transport_maps domain.ru   smtp:[ip exchange](если это еще
>>>не сделано).
>>
>>зачем?
>
>На эксе настроен коннектор к sendmail, который сейчас в качестве внешнего релея
>- не smart host, хотя наверное это без разницы... т.е. правильно
>ли я понимаю, что так же как в sendmail сделать не
>получится (релеить почту изнутри только от имени своего домена?) путем указания
>доменного имени в relay-domains? ограничить можно только по ИП/сеть?

можно, но средствами exchange

> Насчет релея извне на внутренний сервер - только что настроил релей путем указания
>virtual_maps = hash:/etc/postfix/virtual
>сам /etc/postfix/virtual содержит записи вида:
>user@domain.ru           user@intmail.domain.ru,
>где intmail - эксчендж. Но в таком случае каждого конкретного юзера
>мне как я понимаю нужно будет прописывать в virtual.

ужасть. Зачем вам виртуал?

>А насчет transport_maps Вы считаете было написано не верно?

relay_domains = myexchange.com
transport_maps = /etc/postfix/transport_maps

/etc/postfix/transport_maps
myexchange.com smtp:[192.168.127.1]

192.168.127.1 - ip exchange

ВСЕ!!!


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

smtpd_xxx_restriction. Если надо чтобы могли отсылать из мира, настройте аутентификацию

> ну и изнутри почта соответственно должна ходить только от моего имени/имен....

это реализуется средствами самого exchange, postfix тут не причём



"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 29-Янв-08 09:45 
>[оверквотинг удален]
>
>>вообще то пока задача у меня тривиальная - сделать закрытый релей, т.е.
>>чтобы снаружи НЕ могли отсылать письма от имени моего либо какого-то
>>еще домена через мой релей,
>
>smtpd_xxx_restriction. Если надо чтобы могли отсылать из мира, настройте аутентификацию
>
>> ну и изнутри почта соответственно должна ходить только от моего имени/имен....
>
>это реализуется средствами самого exchange, postfix тут не причём

#Про виртуал..
Ну это, конечно хочется переделать, сейчас sendmail работает именно так - virtusertable со списком юзеров, для которых нужно релеить почту на эксчендж. В принципе хочу забирать список юзеров по ldap, но боюсь сразу сиё не осилить - поэтому начал с простого...

#transport_maps
А так разве нельзя?
relay_domains = domain.ru
transport_maps = /etc/postfix/transport_maps

/etc/postfix/transport_maps
domain.ru    smtp:[myexchange.domain.ru]

?
# Про аутентификацию..
насколько я понимаю - по умолчанию postfix будет в любом случае релеить почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
# By default, Postfix relays mail
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
# - from "untrusted" clients to destinations that match $relay_domains or
#   subdomains thereof, except addresses with sender-specified routing.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено stas , 29-Янв-08 10:18 
>[оверквотинг удален]
>?
># Про аутентификацию..
>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
>
># By default, Postfix relays mail
># - from "trusted" clients (IP address matches $mynetworks) to any destination,
>
># - from "untrusted" clients to destinations that match $relay_domains or
>#   subdomains thereof, except addresses with sender-specified routing.

Да почему же нельзя? Можно. Вам об этом уже несколько раз написали.
Только в этом случае почта будет пересылаться и для несуществующих пользователей.
Выгрузите список пользователей из Exchange и настройте параметр relay_recipient_map.
А потом сможете настроить ldap. Если у Вас пользователи Exchange не будут часто изменяться, то Вам, наверное, и ldap не нужен. Будете добавлять новых пользователей в этот список.


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено ALex_hha , 29-Янв-08 14:21 
>[оверквотинг удален]
>># By default, Postfix relays mail
>># - from "trusted" clients (IP address matches $mynetworks) to any destination,
>>
>># - from "untrusted" clients to destinations that match $relay_domains or
>>#   subdomains thereof, except addresses with sender-specified routing.
>
>Да почему же нельзя? Можно. Вам об этом уже несколько раз написали.
>
>Только в этом случае почта будет пересылаться и для несуществующих пользователей.
>Выгрузите список пользователей из Exchange и настройте параметр relay_recipient_map.

Вот пример скрипта

option explicit
on error goto 0

'-------------------------------------------------------------
const strLDAP = "<LDAP://domain-controller-name/dc=kharkov,dc=home,dc=local>"

'-------------------------------------------------------------
dim oFS, oShell, nErr, nWar, i

set oShell = wscript.createobject( "wscript.shell")
set oFS    = wscript.createobject( "scripting.filesystemobject")

'-------------------------------------------------------------
dim sLog, sOut
dim oLog, oOut

sLog  = "debug.log"
sOut  = "relay_recipient_maps"

set oLog = oFS.opentextfile( sLog, 2, true, -1)
set oOut = oFS.opentextfile( sOut, 2, true, -1)

oLog.writeline now()

'=============================================================

'---------Init Connection to the AD---------------------------

dim objADConnection, objADCommand

set objADConnection = CreateObject("ADODB.Connection")
objADConnection.Provider = "ADsDSOObject"
objADConnection.Open "Active Directory Provider"

set objADCommand = CreateObject("ADODB.Command")
set objADCommand.ActiveConnection = objADConnection
objADCommand.Properties("Page Size") = 1000

'---------Retrieve and process Mail recipients----------------

i = ProcessMailRecipients( objADCommand, strLDAP)

'---------Finalize--------------------------------------------

wscript.quit( 0)

'=============================================================

'-------------------------------------------------------------
function ProcessMailRecipients( objADCommand, strADRoot)
'http://support.microsoft.com/kb/318072

  dim strLDAP, objADRS
  dim arrFields, strField
  dim strSQL, strGUID

  dim i, p

  strLDAP = strADRoot
  strLDAP = strLDAP & ";(proxyAddresses=*smtp:*);displayName,canonicalName,proxyAddresses;Subtree"

  objADCommand.CommandText = strLDAP
  set objADRS = objADCommand.Execute
              
  objADRS.MoveFirst
  do until objADRS.EOF

'displayName
    oLog.write objADRS.Fields("displayName").Value & vbTab

'canonicalName
    arrFields = objADRS.Fields( "canonicalName").Value
    oLog.writeline arrFields( 0)

'proxyAddresses
    arrFields = objADRS.Fields( "proxyAddresses").Value
    for each strField in arrFields
      if lcase( left( strField, 5)) = "smtp:" then
        oLog.writeline mid( strField, 6)
        oOut.writeline mid( strField, 6) & " Ok"
      end if
    next

    oLog.writeline

    objADRS.MoveNext
  loop
end function

'-------------------------------------------------------------


После запуска в файле relay_recipient_maps будет список всех smtp адресов


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 30-Янв-08 14:53 
>[оверквотинг удален]
>    oLog.writeline
>
>    objADRS.MoveNext
>  loop
>end function
>
>'-------------------------------------------------------------
>
>
>После запуска в файле relay_recipient_maps будет список всех smtp адресов

Спасибо!



"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено ALex_hha , 29-Янв-08 11:44 
>#Про виртуал..
>Ну это, конечно хочется переделать, сейчас sendmail работает именно так - virtusertable
>со списком юзеров, для которых нужно релеить почту на эксчендж. В
>принципе хочу забирать список юзеров по ldap, но боюсь сразу сиё
>не осилить - поэтому начал с простого...

ну дак postfix это не sendmail ;)


>#transport_maps
>А так разве нельзя?
>relay_domains = domain.ru
>transport_maps = /etc/postfix/transport_maps
>
>/etc/postfix/transport_maps
>domain.ru    smtp:[myexchange.domain.ru]
>
>?

дак я вам тоже самое написал ;)

># Про аутентификацию..
>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?

да, только если быть точным, не для твоего домена, а для доменов указанных в relay_domains


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 29-Янв-08 12:18 
>[оверквотинг удален]
>>?
>
>дак я вам тоже самое написал ;)
>
>># Про аутентификацию..
>>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
>
>да, только если быть точным, не для твоего домена, а для доменов
>указанных в relay_domains

Ну да - relay_domains я и имел ввиду....

Всем спасибо за помощь - некоторая ясность образовалась -) но думаю, что еще неоднократно побеспокою ;-)


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено phelixx , 29-Янв-08 13:11 
>[оверквотинг удален]
>>>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>>>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
>>
>>да, только если быть точным, не для твоего домена, а для доменов
>>указанных в relay_domains
>
>Ну да - relay_domains я и имел ввиду....
>
>Всем спасибо за помощь - некоторая ясность образовалась -) но думаю, что
>еще неоднократно побеспокою ;-)

Вот кстати еще вопрос:
если в параметре mynetworks я описываю не всю сеть, а один хост, то нужно ли указывать параметры
mynetworks_style = (...)

это не одно и то же - прописать ИП в mynetworks, не используя mynetworks_style и описать в mynetworks всю сеть, но  в mynetworks_style поставить значение host
?


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено GmrNsk , 15-Фев-08 20:27 
>При этих настройках я могу послать письмо от кого угодно куда угодно,
>т.е. говорю
>mail from: tratata@yandex.ru
>rcpt to: gfhfhf@mail.ru
>ответ
>250 2.0.0 Ok: queued as ADD4695896
>сообщение в очереди...

я нашел решение здесь http://lists.altlinux.org/pipermail/sysadmins/2007-November/...
стоит обратить внимание на порядок проверки в ключе smtpd_sender_restrictions =
т.е. сначала проверить домен, а потом уже разрешить отправку


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено ALex_hha , 19-Фев-08 10:49 
>[оверквотинг удален]
>>т.е. говорю
>>mail from: tratata@yandex.ru
>>rcpt to: gfhfhf@mail.ru
>>ответ
>>250 2.0.0 Ok: queued as ADD4695896
>>сообщение в очереди...
>
>я нашел решение здесь http://lists.altlinux.org/pipermail/sysadmins/2007-November/...
>стоит обратить внимание на порядок проверки в ключе smtpd_sender_restrictions =
>т.е. сначала проверить домен, а потом уже разрешить отправку

да что вы говорите? А я думал разрешение на отправку описывается в smtpd_recipient_restrictions


"Приветствую! Помогите плиз закрыть релей в Postfix!"
Отправлено universite , 19-Фев-08 15:33 
>Приветствую всех!
>
>Решил переползти с sendmail на postfix. Первое с чем столкнулся - не
>могу закрыть релей, кажется все делаю по документации... подскажите, что может
>быть не так?
>Подскажите, ято я не так делаю?

В Sendmail'e из коробки relay запрещен.
Если работает, не трогай!