Postfix как frontend для Exchange 2007

Некоторое время назад перевел корпоративную почту на Exchange 2007, но пускать Exchange напрямую в интернет у меня нет ни малейшего желания. Сугубо моё ИМХО, но Linux в плане безопасности намного надежнее (спорить по этому поводу не хочу). В связи с этим было принято решение оставить Linux (а соответственно и Postfix) в качестве шлюза и фаервола. Плюсы (помимо безопасности) в дополнительной фильтрации на спам (и вирусы) на уровне Postfix и отсутствием дополнительных затрат на ПО (если в качестве альтернативы рассматривать дополнительный пограничный сервер на Win2k3+ADAM и Exchange в роли Edge Transport). Опишу только необходимые изменения исходя из того, что Postfix и Exchange 2007 уже установлены и работают.

1. Редактируем main.cf
Имя сервера:
myhostname = mx.test.ru

Имя домена:
mydomain = test.ru

Доверенные сети:
mynetworks = 127.0.0.0/8, 192.168.1.1
(в данном примере 192.168.1.1 это адрес Exchange сервера в нашей сети, которому мы разрешаем отправлять почту через Postfix)

Список локальных получателей оставляем пустым, т.к. локально почта на этот сервер доставляться уже не будет:
local_recipient_maps =

Файл с таблицей маршрутов транспорта:
transport_maps = hash:/usr/local/etc/postfix/transport

2. Редактируем файл transport
Указываем домен и внутренний адрес сервера Exchange 2007, на который должна переправляться вся поступающая для этого домена почта:
test.ru smtp:[192.168.1.1]
Указав адрес в квадратных скобках мы запрещаем Postfix ресолвить это адрес. Если необходимо указать доменное имя сервера, то его надо будет ввести без скобок.

3. Создаем базу данных transport командой postmap transport.

4. просим Postfix перечитать свои конфиги командой postfix reload.

5. Создаем SMTP-коннектор в Exchange 2007 для отправки писем.
Для этого открываем Командную консоль Exchange и запускаем:
[PS] C:\>New-SendConnector -Name 'OUT' -Usage 'Internet' -AddressSpaces 'smtp:*;1' -DNSRoutingEnabled $false -SmartHosts '[192.168.1.2]' -SmartHostAuthMechanism 'None' -SourceTransportServers 'EXCHANGE'
Где EXCHANGE это имя сервера с Exchange 2007, а 192.168.1.2 - адрес Postfix сервера.

6. Разрешаем Exchange 2007 получать почту от Postfix сервера без авторизации.
Открываем Командную консоль Exchange:
set-ReceiveConnector “Default EXCHANGE” -permissiongroups: “ExchangeUsers, ExchangeServers, ExchangeLegacyServers, AnonymousUsers”
Где EXCHANGE это имя сервера с Exchange 2007.

Готово!

Комментирование закрыто.