Exim: ретранслировать неизвестных получателей на другой сервер

Вопрос

Могу ли я заставить Exim ретранслировать почту с неизвестным получателем на другой хост?

Сценарий

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

Моя идея:

  1. настроить Exchange для работы в качестве внутреннего ретранслятора, т.е. для ретрансляции неопознанных получателей в Exim,
  2. выполните аналогичную конфигурацию на Exim и включите любую форму защиты от петель на любом конце (для сообщений, которые неизвестны на обоих серверах),
  3. сохраните Exim как цель записей MX до конца постановка,
  4. постепенно создавайте новые учетные записи на Exchange и одновременно отключайте их на Exim

Я также приветствую любую критику, если идея по какой-либо причине звучит дрянно.

0
задан 8 August 2018 в 15:15
2 ответа

Это можно сделать с помощью комбинации ACL и маршрутизатора.

Сначала вы должны пропустить через ACL все сообщения, подтверждающие существование определенной учетной записи:

acl_smtp_rcpt:
accept   domains = +local_domains
         !verify = recipient
   set acl_m_fwd = go2xchg
. . . . 
# all the rest rules

Затем вы должны добавить маршрутизатор:

begin routers
xchg:
       driver = manualroute
    condition = {if eq{$acl_m_fwd}{go2xchg}}
   route_list = * 11.22.33.44 
    transport = remote_smtp
      no_more
. . . . 
# all the rest routers

, где 11.22.33.44 - это IP-адрес сервера Exchange.

1
ответ дан 4 December 2019 в 15:52

Поскольку ваш IP-адрес — 11.22.33.44, вы можете настроить свой ACL на игнорирование этого IP-адреса при проверке. Поэтому, если сообщение приходит с этого IP-адреса, оно не пересылается.

hosts = !11.22.33.44
0
ответ дан 2 January 2021 в 12:49

Теги

Похожие вопросы