критично
Задача, которую решает механизм, одна и очень конкретная: у вас много адресов отправки и много узлов, и распределять первые по вторым больно. Каждый переезд адреса — это правка конфигурации узла, его перезагрузка и разъезд между тем, что настроено, и тем, что на самом деле.
Решение — развести две вещи. Узлы живут на внутренних адресах и занимаются почтой. Все внешние адреса отправки собраны на одной машине — прокси. Узел, доставляя письмо, подключается к прокси и говорит ему пару: «выйди с такого-то адреса на такой-то».
Разрешение имён остаётся у узла. Он сам ищет MX получателя и сам решает, куда идти; прокси только исполняет и ничего о почте не знает.
🔴 Прокси прозрачен для учёта. Полем адреса отправки записан внешний адрес прокси, полем назначения — адрес приёмника. Понять по обычному учёту, что письмо шло через прокси, нельзя — для этого есть отдельные поля dlvProxy*, которые надо добавить в набор явно.
🔎 Раздел руководства устарел. Он кончается обещанием «поддержку протокола для входящего трафика мы добавим в следующих выпусках» — а она уже есть: use-inbound-proxy у слушателя и у входа Transmissions API. Читать этот абзац как описание возможностей не стоит.
Три вывода разбора в нём учтены: первое — список прокси запасной, а не балансирующий, поэтому форма взята строчная (smtp-proxy-source-host, свой адрес отправки на каждый прокси), а трафик раскладывается пулами наборов; второе — домен очереди гейт получает второй версией протокола со строкой proxy-include-tlv domain; третье — соответствие «адрес отправки ↔ прокси» держит сам Хаб: ярлык в строке MTA и таблица гейта /etc/hubgate/upstreams.tsv пишутся вместе, из одного реестра.
Собственных значений у механизма нет — его собирают из блока и трёх строк:
| Что нужно | Чем задаётся |
|---|---|
| описать прокси | блок <proxy> с server и client |
| назначить его | use-proxy у узла или адреса отправки |
| передать домен очереди | proxy-protocol 2 и proxy-include-tlv |
| увидеть отказы в учёте | enable-tq-record-for-proxy-failure плюс вид tq |
# узел на внутреннем адресе, внешний адрес живёт на прокси <proxy mta-proxy-a> server 10.1.2.3:5000 client 16.70.55.233:0 client.hostname.com </proxy> <virtual-mta vmta> smtp-source-host 10.8.9.10 vmta.hostname.com use-proxy mta-proxy-a </virtual-mta>
что делают не так и чем это кончается3 ошибки▶
§ 11.3
§ 11.3
наш опыт
3 связи
dig +short -x 16.70.55.233
3 статьи
◇Ограничения облакаОблака ограничивают исходящую почту через порт 25, пока не попросишь снять лимит, а их диапазоны адресов почтовики встречают с подозрением.◇Ключ активации — условие установки, а не шаг после неёБез ключа активации от поддержки SparkPost MTA не ставится и не работает, а уровень лицензии задаёт потолок исходящих соединений: на стандартной всё сверх 200 игнорируется.◇Как перевести план отправки в железоДве постоянные, по которым считается любой узел: около 2 КБ памяти на каждого получателя в очереди и место под спул, пропорциональное суммарному размеру писем.