Global
Строка задаёт адрес сервера имён. Не задана ни одна — MTA пользуется теми резолверами, что настроены в операционной системе.
Директиву повторяют: несколько строк дают несколько резолверов, и MTA ходит по ним по кругу, распределяя нагрузку.
Требование к самим резолверам — отдельный разговор: MTA нужна рекурсивная служба, и резолвер, отвечающий отсылками, замедляет доставку молча. Разобрано в recursive-resolver-requirement.
Рядом живёт edns-udp-length — расширение, поднимающее предел размера ответа. Оно касается тех же запросов.
Для узла, который разрешает имена на каждое письмо, это неудачное умолчание: резолвер оказывается в пути доставки, и им вы не управляете.
Вторая половина: один резолвер — точка отказа. Круговой обход начинается со второй строки.
Своего слежения за разрешением имён у Хаба тоже нет: он показывает состояние резолвера в мониторинге узла, но предупреждения журнала о нерекурсивных ответах не разбирает.
Что ставить. Резолвер — часть пути доставки, и выбирать его стоит осознанно:
| Значение | Когда |
|---|---|
| не писать | узел один, нагрузка невелика, хостер надёжен |
| две-три строки | обычный случай для парка: свои резолверы плюс запасной |
| локальный кэширующий | большой объём и много доменов: меньше внешних запросов |
Публичные резолверы удобны как запасные, но у них есть пределы на источник, и под нагрузкой они начинают отвечать отсылками — той самой неполадкой, которую видно только в журнале.
# свой резолвер основным, публичный запасным name-server 10.1.2.3name-server 8.8.8.8
что делают не так и чем это кончается3 ошибки▶
наш опыт
§ 3.3.1.36
§ 4.2.3
3 связи
edns-udp-lengthGlobalРасширение тех же запросов: поднимает предел размера ответа, за которым тот обрезается. § 3.3.1.46Как узел разрешает именаПредварительный кэш живёт в отдельном блоке, но пользуется теми же резолверами. inference
precached-domains-file<dns>Обновление кэша идёт через те же резолверы, что и обычное разрешение имён. § 3.3.1.36precached-max-domains<dns>Постоянная нагрузка от обновления кэша ложится на эти резолверы. § 3.3.1.36Узлу нужен резолвер, который делает всю работу самГлава 3 задаёт, какими резолверами пользоваться; здесь сказано, какими они должны быть. inference
grep -n 'name-server\|edns-udp-length' /etc/pmta/config cat /etc/resolv.conf pmta resolve gmail.com
3 статьи
◇Чужие составляющие MTAPowerMTA работает на пяти сторонних библиотеках — PCRE, OpenSSL, ICU, gumbo-parser и prometheus-cpp; их поведение задаёт сборка MTA.◇Ключ активации — условие установки, а не шаг после неёБез ключа активации от поддержки SparkPost MTA не ставится и не работает, а уровень лицензии задаёт потолок исходящих соединений: на стандартной всё сверх 200 игнорируется.◇Что узел рассказывает о себе и по каким каналамСемь поверхностей наблюдения: веб-монитор, консоль в четырёх форматах, журнал, учёт, поиск по учёту, метрики и выгрузка во внешнюю аналитику.