Exim как почтовый релей для двух доменов

Сегодня хочу рассказать о том, как настроить почтовый сервер Exim в роли почтового релей сервера, который обслуживает две почтовые системы и два почтовых домена соответственно. Exim сервер в качестве почтового релея использую достаточно давно из-за его простоты, быстроты, удобства управления и, самое главное, его стоимости — он бесплатный.

Первоначальная конфигурация базировалась на конфигурации lissyara (http://www.lissyara.su/articles/freebsd/mail/exim+exchange/) с некоторыми специфическими изменениями под свои нужды. На Exim-е были реализованы различные виды борьбы с вирусами, спамом и прочие полезные “штучки”, которые облегчают жизнь администратору почтовой системы. Exim долго работал в качестве внешнего почтового релея для Exchange server 2007, который обслуживал только одну почтовую организацию со своим доменом. Но в один прекрасный день потребовалось, чтобы Exim начал обслуживать второй почтовый домен, который независим от почтовой организации Exchange сервера.

В таблице приведены исходные данные (Имена и адреса доменов изменены):

Почтовая система First Second
Почтовый домен maildom.net maildom.org
МХ записи в DNS mx.maildom.net mx.maildom.org
внешний IP 123.456.789.010 123.456.789.020
локальный IP Exim 192.168.1.100 192.168.1.110
внутренний IP почтовой системы 192.168.100.100 172.16.100.100

Дальше буду публиковать куски конфигурационных файлов, в которые вносились изменения согласно конфигурационным файлам с сайта lissyara, чтобы не возникло неточностей.

Файл конфигурации 100.main.conf. Добавил интерфейсы для прослушивания (без этого не будут работать транспортные правила) и два новых domainlist-а:

local_interfaces = <; 192.168.1.100 ; 192.168.1.110
domainlist second_domains = maildom.org
domainlist relay_to_second = maildom.org

Также изменил баннер приветствия:

smtp_active_hostname = ${if eq {$received_ip_address}{192.168.1.100}\
{mx.maildom.net}{mx.maildom.org}}
smtp_banner = «$smtp_active_hostname, ESMTP EXIM $version_number»
#smtp_banner = «$primary_hostname, ESMTP EXIM $version_number»

В результате при подключении telnet-ом на IP 123.456.789.010 видим приветствие:

220 mx.maildom.net, ESMTP EXIM 4.69

И при подключении на IP 123.456.789.020 видим приветствие:

220 mx.maildom.org, ESMTP EXIM 4.69

Файл конфигурации 600.routers.conf. Добавлен роутер для работы с другой почтовой системой. Новый роутер ничем не отличается от старого за исключением domains и route_list.

exchange_router:
driver = «manualroute»
domains = +relay_to_domains
transport = remote_smtp
route_list = * 192.168.100.100
no_more

second_router:
driver = «manualroute»
domains = +relay_to_second
transport = remote_smtp
route_list = * 172.16.100.100
no_more

Файл конфигурации 700.transports.conf:

remote_smtp:
driver = smtp
interface = ${if eq{$smtp_active_hostname}{mx.maildom.net}\
{192.168.1.100}{192.168.1.110}}
helo_data = ${if eq{$smtp_active_hostname}{mx.maildom.net}\
{mx.maildom.net}{mx.maildom.org}}

Здесь пришлось переписать, точнее, изменить старый транспорт для того, чтобы при исходящем подключении почтовая сессия устанавливалась с нужного IP адреса, и Exim правильно представлялся.

В другие конфигурационные файлы были внесены domainlist-ы second_domain и relay_to_second по аналогии с уже работающими domainlist-ами в конфигурации.

Собственно, на этом все изменения и заканчиваются.

В итоге получилось, что Exim сервер успешно обрабатывает почтовые потоки двух независимых почтовых систем.

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s