Вход:  Пароль:  
FreeSource: Документация?/Postfix/BackupMX ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |

Резервный MX 

Что такое backup MX?

Сначала надо прочитать раздел Транспортировка Почты (методы доставки почты). В том разделе указано, что smtp-сервер в процессе поиска, куда доставить почту, ищет MX-запись домена. Если вы обратили внимание, запись имеет перед именем mx хоста ещё и число:

Это число является приоритетом сервера. Чем оно меньше, тем главнее сервер.
DNS возвращает эти записи в случайном порядке (в round-robin точнее). smtp-сервер использует первую запись. Либо сам выполняет round-robin запрос. Поэтому почта может дойти на любой указанный в домене MX-хост.


Одно но: smtp-сервер проверяет, не будет ли это число больше, чем его собственное, если он является одним из MX хостов. Если больше, то он эту запись игнорирует и берёт следующий хост. Если меньше, то подключается к нему.


Последний mx-хост является главным, и если отвергнет почту он, тогда письмо возвращается обратно с ошибкой.


MX хосты с приоритетом меньше главного я называею backup mx хостами – они получают почту если главный сервер недоступен и пытаются передать на него письма в течении maximal_queue_lifetime. Когда время очереди заканчивается (а оно по умолчанию в postfix 5 суток), smtp сервер возвращает ошибку. Поэтому при наличии mx-хостов можно выключать другие smtp сервера на время меньшее времени удержания письма в очереди, и почта всё равно дойдёт. Потому и backup – их удобно держать на машинах, имеющих независимое от других питание и выход в инет. Например в другом городе. А то и стране :)

Настройка

Опять заострим внимание на происходящих на backup mx хосте процессах: MX хост почту отправляет дальше – либо на главный smtp сервер, либо на более приоритетный MX хост. Значит он должен релеить почту для домена, где он прописан. В принципе – всё.


Postfix'у не надо указывать ходить в DNS зону за MX записями.
Более того, если вспомнить синтаксис указания Траспорт В Postfix? (man transport), то окажется, что postfix'у надо спеуиально сказать не ходить за MX записью – запись выглядит в этом случае как transport:[host]. Без квадратных скобок, как происходит указание обычно, postfix для начала сделает dig host MX, и будет дейстовать по описанной выше схеме.


Следовательно, для настройки bacup mx хоста на примере постфих нам всего лишь надо прописать:

А как работает relay_domains? а есть ли другой способ?


А теперь, уважаемые, вспомним запись в main.cf permit_auth_destination и reject_unauth_destination.
Выдержка из man postconf

тоже самое см. postconf#smtpd_recipient_restrictions


К слову, почу все параметры вида $mydestination, $relay_domains проверяются именно в Postfix Restrictions?. То есть если вам надо разрешить домен, указанный в $relay_domains для передачи ему почты, вам надо поставить разрешение в smtpd_recipient_restrictions. Это можно сделать также через access maps. Без этого будет access denied :)


Кстати, почему именно в $relay_domains? В принципе понятно – потому что релей. Но если прописать этот домен в $mydestination, то почта тоже будет доставлятся. Вот только куда?


В последнем случае почта будет идти через транспорт local. По умолчанию. что управляется параметром local_transport, либо в transport_maps можно явно указать, что для домена такого-то пусть транстпорт будет скажем smtp. И всё, почта пошла на следующий сервер :)


Рекомендую также почитать про Транспорт В Postfix?. Как я пока понял, а Postfix почти всё – транспорт. По крайней мере то, что описано в master.cf, а там описаны все программы postfix, которые как-то собой общаются. Через понятие transport они и общаются, поэтому для смены обработки письма часто достаточно поменять transport.


Пример конфигурации postfix на backup-MX-е:


Внимание:


Страницы, ссылающиеся на данную: Документация/Postfix
Статьи/ПочтоваяСистема


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]