xenon
@xenon
Too drunk to fsck

Как postfix не попадает в проблему релеить сам на себя (или попадает)?

Представим postfix сконфигурированный как запасной MX (в высоким priority в DNS) для большого списка доменов. (в каждом он как mx2, например mx2.example.com, mx2.example.net, и так далее). Причем, на самой машине нет белого адреса, она (как в Amazon EC2) использует какой-то 10.***, а уже на него пробрасывается публичный адрес.

Дальше я вижу такой сценарий проблемы. На короткое время ложится главный почтовый сервер. Какой-нибудь внешний gmail.com хочет отправить нам (example.com) письмо, не может отправить на главный MX, и отправляет на наш (этот вот, обсуждаемый) mx2.

Дальше, mx2 принял письмо и хочет его переслать дальше. Он пытается отправить на главный почтовый сервер (тот, как мы помним, лежит). Тогда он смотрит следующий MX, и должен попытаться отправить его через mx2.example.com (который он сам и есть)? Как он может догадаться, что этот MX пробовать не нужно? Или он так и будет гонять письмо по кругу сам себе?

В RFC https://datatracker.ietf.org/doc/html/rfc5321#sect... есть текст:

If it determines that it should relay the message without rewriting
the address, it MUST sort the MX records to determine candidates for
delivery. The records are first ordered by preference, with the
lowest-numbered records being most preferred. The relay host MUST
then inspect the list for any of the names or addresses by which it
might be known in mail transactions. If a matching record is found,
all records at that preference level and higher-numbered ones MUST be
discarded from consideration. If there are no records left at that
point, it is an error condition, and the message MUST be returned as
undeliverable. If records do remain, they SHOULD be tried, best
preference first, as described above.


По идее, это должно решить проблему (MX с приоритетом 100 не будет отправлять на любой MX с этим же приоритетом), но как этот пункт исполнится в случае машины с приватным адресом? Ну увидит она в DNS два MX с разными приоритетами, ну даже отрезолвит оба (один из них - будет ее внешний IP, который она не знает), как она может понять, что это она же? Или я не понял этот абзац из RFC...
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
Для вторичных релеев принято либо прописывать домены как локальные (если доставка идет прямо на них локальным транспортом) или прописывать транспорт по обслуживаемым доменам на основной хост, если они именно релеи, см man transport и relay_domains. То как именно оперирует вторичный релей RFC не регламентирует, он регламентирует только порядок доставки при отпраке.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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