Почему иначе нельзя
PROXY protocolВ заголовке PROXY MTA сообщает гейту, каким адресом представиться и куда идти. Гейт по этому ярлыку находит нужный прокси, открывает туннель и дальше просто передаёт данные в обе стороны — в сам диалог он не лезет.
Шлюз прокси: порт 25 через SOCKS5
PowerMTA и MailerQ не умеют слать через SOCKS5 с логином и паролем. Гейт — служба hubgate на самом сервере: принимает соединение от MTA и открывает туннель через нужный прокси.
Страница показывает каждый гейт: версию, время работы, совпадают ли адреса с записанными в Хабе, соединения и сбои туннеля за неделю.
01 / Зачем нужен шлюз прокси
Арендованные прокси выдаются с логином и паролем по SOCKS5, а PowerMTA и MailerQ так не умеют. Зато оба умеют работать через посредника по HAProxy PROXY protocol. Гейт — шлюз прокси, который и есть такой посредник: он стоит рядом с MTA и открывает туннель через нужный прокси до порта 25 сервера получателя.
MTA говорит гейту «кто я» и «куда», гейт открывает SOCKS5-туннель до порта 25 почтового сервера
В заголовке PROXY MTA сообщает гейту, каким адресом представиться и куда идти. Гейт по этому ярлыку находит нужный прокси, открывает туннель и дальше просто передаёт данные в обе стороны — в сам диалог он не лезет.
Не на Хабе и не на отдельной машине, а на самом сервере отправки, рядом с MTA. Так почта всего парка не идёт через панель управления.
02 / Состояние гейта
По каждому гейту видно, сколько адресов он знает и сколько их должно быть по данным Хаба, сколько соединений прошло за неделю и какой прокси рвёт туннели. Если гейт знает не все адреса, недостающие видно по именам.
Гейт знает все 3 адреса набора «Отправка · маркетинг» — отправка через них пойдёт. Если какого-то адреса не хватает, его видно по имени, а исправляется это кнопкой «Записать на узел».
2 410 удачных соединений и 15 сбоев туннеля. Чаще других туннели рвёт px-03 — 8 сбоев из 793 попыток.
Гейт знает оба рабочих адреса набора «Разгон новых адресов». px-06 в карантине, поэтому в таблице сервера его нет, а его сбои за неделю остались на счету гейта.
1 971 удачное соединение и 31 сбой туннеля. Чаще всех туннели рвал px-06 — 12 из 770, за ним px-05 и px-04.
Крупно — неделя, мелко — всё время: счётчики с момента запуска службы стоят ниже и помечены значком ⟡, чтобы их не приняли за текущие.
03 / Кнопки гейта
Под кнопками гейта прямо написано, что делает каждая: какая трогает службу, а какая только спрашивает. Записать адреса, перезапустить или обновить гейт можно прямо из кабинета, без входа на сервер.
Адреса и настройки набора заново уходят на сервер.
Гейт перечитывает уже выгруженный файл.
Поднимает службу заново — открытые туннели обрываются.
Только спрашивает у гейта его состояние.
Кладёт файл службы из комплекта Хаба и тоже перезапускает её.
Рядом с работающей версией видна версия из комплекта: у mta-02 — 1.0.4 → 1.1.0.
04 / Защита шлюза
У PROXY protocol нет пароля: кто добрался до порта гейта, тот получил арендованные адреса для чего угодно, а отвечать будет их владелец. Поэтому гейт пускает только свой сервер — и страница показывает, что это действительно так.
Гейт принимает соединения только с адреса самого сервера и 127.0.0.1. Чужое подключение получает разрыв и строку в журнале, а плитка «Отбито чужих» считает такие попытки.
Файл таблицы, где лежат пароли прокси, закрыт правами 640 root:hubgate — Хаб это проверяет. Файрвол сервера Хаб не настраивает: порт виден из сети, и пускает только список источников.
05 / Подробно об интерфейсе
Все экраны раздела о шлюзах прокси: зачем нужен гейт, путь до отправки, два гейта на серверах, узлы без гейта и защита. Над каждым снимком — зачем нужен экран, под ним — что на нём есть.
Первые два экрана объясняют, как работает шлюз прокси, и показывают, готов ли сервер к отправке. Сначала — схема одного письма: от MTA через гейт и прокси до почтового сервера получателя. Затем — путь до отправки для выбранного сервера: шесть шагов от установки гейта до рассылочной платформы. У каждого шага — кнопка на экран, где он делается.
Первый экран объясняет, зачем серверу отправки нужен шлюз прокси. Схема одного письма в четыре блока: MTA по PROXY protocol сообщает гейту «кто я» и «куда», гейт открывает SOCKS5-туннель через арендованный прокси до порта 25, и почтовый сервер получателя видит адрес прокси, а не сервера. Ниже две строки: почему иначе нельзя — PowerMTA и MailerQ не ходят в SOCKS5 с логином и паролем — и почему гейт стоит на самом сервере отправки, а не на Хабе. Экран достаточно прочитать один раз, чтобы понимать, через что проходит каждое письмо. Дальше на странице — путь до отправки для выбранного сервера и карточки гейтов на mta-01 и mta-02.
УвеличитьВ сам диалог с почтовым сервером гейт не лезет — только склеивает потоки.
Блок «Путь до отправки» отвечает на вопрос, готов ли выбранный сервер слать почту через прокси. Шесть шагов идут по порядку: гейт на узле, набор с этим узлом, годные адреса, ввод в отправку, запись на узел и передача рассылочной платформе. На mta-01 пройдены все — у каждого шага зелёная галочка, значит, сервер готов. У каждого шага есть кнопка на экран, где этот шаг делается, так что незаконченный шаг легко довести. Обычно блок свёрнут, на снимке он развёрнут. Открывают блок, когда сервер настроен, а письма через прокси не идут: шаг без галочки и есть место, где искать причину. Сами гейты разобраны на следующих экранах.
УвеличитьСервер для проверки выбирается справа вверху; ссылка «свернуть» прячет блок.
Каждый гейт — отдельная карточка: сервер, версия службы, время работы, набор, кнопки с подписями, счётчики за неделю и с запуска, сверка адресов и таблица ярлыков. По карточке сразу видно, знает ли гейт все нужные адреса и какой прокси рвёт туннели. Две карточки примера показывают гейт, где всё в порядке, и гейт, которому пора обновиться.
Карточка гейта на mta-01 — пример, когда всё в порядке. В шапке: PowerMTA, гейт на 192.0.2.11:5000 и эхо-порт :5001, hubgate 1.1.0, работает 7 дней 2 часа, набор «Отправка · маркетинг». Ниже — пять кнопок с подписями, счётчики за неделю и с запуска службы, сверка адресов и таблица ярлыков. Главное на экране — сверка: сервер знает все 3 адреса из 3, значит, отправка через них пойдёт. Сбоев туннеля за неделю 0,6 %, и видно, какой прокси подводит чаще других, — здесь px-03. Если адресов на узле меньше, чем по данным Хаба, недостающие видны по именам, а возвращает их кнопка «Записать на узел».
УвеличитьЯрлык — адрес, которым MTA просит гейт представиться. Обычно он равен выходному адресу прокси; у прокси с плавающим выходом ярлык берётся из зарезервированной сети 240.0.0.0/4.
Вторая карточка — гейт на mta-02, которому пора обновиться. Он работает 14 дней 22 часа на hubgate 1.0.4, а в комплекте Хаба уже 1.1.0 — отсюда жёлтая пометка «есть обновление». Кнопка «Переустановить» обновит службу без входа на сервер. Сбоев туннеля здесь больше — 1,5 % за неделю, и главный виновник, px-06, уже снят правилом «Доставляемость просела»: в таблице сервера его нет, а сбои за неделю остались на счету гейта. Следом по сбоям идут px-05 и px-04. Учтите, что «Переустановить», как и «Перезапустить», поднимает службу заново, и открытые туннели обрываются.
Увеличитьpx-06 правило «Доставляемость просела» уже отправило в карантин, поэтому в таблице сервера его нет, а сбои за неделю остались на счету гейта.
Внизу — серверы, где гейта ещё нет, и блок о защите. Гейт ставится одной кнопкой на выбранный сервер, после подтверждения. Защита показана проверками, а не обещаниями: какие источники разрешены и какие права у файла с паролями прокси.
Список серверов, где шлюза прокси ещё нет. Пятнадцать серверов отправляют письма напрямую, со своих адресов, — через прокси они не ходят. Первый шаг к отправке через прокси — кнопка «Поставить гейт» в строке сервера: служба ставится и запускается только на нём и только после подтверждения. Ссылка «Настроить» ведёт на страницу сервера. Названия те же, что во всём кабинете, поэтому нужный сервер легко найти. Серверы, где MTA шлёт письма в обход гейта, страница показала бы отдельной строкой — в примере таких нет. После установки гейта сервер ведут дальше по шагам блока «Путь до отправки»: набор, годные адреса, запись на узел.
УвеличитьСерверы, где MTA отправляет письма в обход гейта, страница показала бы отдельной строкой — в примере таких нет.
Блок о главном риске модуля. У PROXY protocol нет пароля: кто добрался до порта гейта, получил арендованные адреса для чего угодно, а отвечать будет их владелец. Поэтому гейт принимает соединения только с адреса своего сервера и 127.0.0.1, и экран показывает это проверкой, а не обещанием. По обоим гейтам видно, какие источники разрешены и что файл таблицы с паролями прокси закрыт правами 640 root:hubgate. Если в строке источников только адрес сервера и 127.0.0.1, чужое подключение получит разрыв. Файрвол сервера Хаб не настраивает: порт виден из сети, а сколько чужих подключений отбито, считает плитка «Отбито чужих» в карточке гейта.
УвеличитьФайрвол сервера Хаб не настраивает: порт виден из сети, сканеры до него доходят, и не пускает их только список источников.
06 / Вопросы о гейтах
Коротко о том, зачем нужен гейт, где он стоит, что такое ярлык и почему порт гейта не открыт для всех.
УвеличитьКнопки с подписями, счётчики за неделю и с запуска службы, сверка адресов и таблица ярлыков.
PowerMTA и MailerQ не умеют слать через SOCKS5 с логином и паролем, а арендованные прокси выдаются именно так. Гейт принимает соединение от MTA по PROXY protocol и открывает туннель через нужный прокси.
Нет. Гейт стоит на самом сервере отправки, рядом с MTA. Хаб только опрашивает гейт и записывает на него адреса.
Адрес, которым MTA просит гейт представиться: PowerMTA получает его в vMTA, MailerQ — в строке прокси своей базы. Гейт по ярлыку выбирает прокси. Обычно ярлык равен выходному адресу прокси.
Нажать «Записать на узел»: адреса и настройки набора заново уйдут на сервер. Каких адресов не хватает, видно по именам.
«Перечитать таблицу» просит гейт заново прочитать уже выгруженный файл, туннели не рвутся. «Перезапустить» поднимает службу заново и обрывает открытые туннели.
Если рядом с версией стоит пометка «есть обновление», нажмите «Переустановить»: Хаб положит новый файл службы из своего комплекта и перезапустит её. Входить на сервер не нужно.
Гейт пускает только адрес своего сервера и 127.0.0.1. Чужое подключение получает разрыв, а плитка «Отбито чужих» считает такие попытки.
В блоке «Узлы без гейта» нажать «Поставить гейт» у нужного сервера. Служба ставится и запускается только на нём, после подтверждения.
07 / Следующий шаг
Гейт ведёт письма через прокси, но годится ли сам прокси для почты, решают проверки: отвечает ли он, на каком протоколе говорит и открыт ли порт 25.
Какие адреса гейт должен знать, задаётся в наборах, а весь маршрут — от MTA через гейт до получателя — показан в обзоре модуля.
Маршрут соединения, настройка и результаты отправки.
Далее по настройкеПриёмка и перепроверка каждого адреса.
Какие адреса на узлеУзел, домен, резерв и правила замены.
Прокси-гейт, DNS, установка MTA и экспорт SMTP работают в одном кабинете MTA-Hub.
Все модули Хаба