MX-запись - что это?
MX-запись, или запись почтового обменника, — это тип записи ресурсов в системе доменных имен, которая указывает почтовый сервер, ответственный за прием сообщений электронной почты от имени домена получателя, и значение предпочтения, используемое для приоритизации доставки почты. Набор записей mail exchanger от имени домена указывает, как электронная почта должна быть маршрутизирована с помощью протокола Simple Mail Transfer Protocol (SMTP).
MX-записи: обзор технологии
Записи ресурсов являются основным информационным элементом системы доменных имен (DNS). Они отличаются идентификацией типа (A, MX, NS) и классом DNS (Интернет, CHAOS). Записи имеют срок действия (время жизни), назначенный им, с указанием того, когда информация, которую они хранят, должна быть обновлена с авторитетного сервера имен. Записи ресурсов организованы в DNS на основе их полного доменного имени электронной почты получателя (часть наименования после символа @).
Характерной информацией полезной нагрузки записи MX является полное доменное имя почтового хоста и значение предпочтения, которое должно отображаться непосредственно в одной или более адресной записи.
Когда сообщение электронной почты отправляется через Интернет, отправляющий агент передачи почты (MTA) запрашивает систему доменных имен для записей MX для каждого домена получателя. Этот запрос возвращает список хостов серверов обмена почтой, принимающих входящую корреспонденцию для этого домена. Затем отправляющий агент пытается установить SMTP-соединение.
Основы приоритизации
В простейшем случае домен может иметь только один почтовый сервер. Например, если MTA просматривает записи MX для example.com, а DNS-сервер отвечает только с mail.example.com с числом предпочтений 50, MTA будет пытаться отправить почту на указанный сервер. В этом случае число 50 может быть любым целым числом, разрешенным спецификацией SMTP.
Но когда для запроса MX возвращается более одного сервера, номер предпочтения для каждой записи определяет относительный приоритет указанного сервера. Когда удаленный клиент (обычно другой почтовый сервер) выполняет поиск в MX для имени домена, он получает список серверов и их номера предпочтений. Изначально должен быть проверен любой сервер с наименьшим номером предпочтения. Чтобы обеспечить надежную почтовую передачу, клиент SMTP должен иметь возможность проверить каждый из соответствующих адресов в этом списке по порядку, пока попытка доставки не завершится успешно.
Распределение нагрузки между массивами почтовых серверов
Метод, используемый для распределения нагрузки входящей почты по массиву серверов, должен возвращать одинаковый номер предпочтения для каждого сервера в наборе. При определении того, какой сервер имеет равное предпочтение для отправки почты, отправитель должен рандомизировать их, чтобы распространять нагрузку на несколько почтовых обменников для конкретной организации. Многосетевые серверы обрабатываются по-разному, так как в этом случае любая рандомизация считается уже примененной сервером имен. В основном это касается проблем маршрутизации. Другие типы загрузки сервера могут быть решены с использованием прокси-сервера SMTP.
Резервная копия
Целевой сервер, то есть тот, который знает, как доставлять почтовый ящик соответствующего пользователя, обычно является наиболее предпочтительным. Серверы с более низким приоритетом, так называемые резервные или вторичные MX-записи, обычно сохраняют сообщения в очереди, ожидая появления основного сервера. Если оба сервера подключены к сети или каким-то образом подключены друг к другу, резервная копия MX будет перенаправлять письмо в основной mail exchanger. Резервная копия действует как хранилище.
Как настроить MX-записи: приоритет
Почта отправляется на сервер обмена с наименьшим номером предпочтения (самый высокий приоритет), поэтому запись почтового обменника, которая используется для маршрутизации, должна иметь самый низкий номер предпочтения, обычно равный 0.
Приоритет определяет порядок, с которым должны быть связаны серверы (если указано несколько серверов с разными приоритетами). Сначала будут проверены серверы с наивысшим приоритетом и самым низким номером предпочтения. В записях DNS, как правило, номер предпочтения установлен и указан.
Ошибки при настройке
Распространенным заблуждением относительно заказа предпочтений MX-записи домена является то, что он предназначен для увеличения вероятности доставки почты. Однако простое использование нескольких записей с одинаковыми предпочтениями обеспечивает это преимущество.
Еще одна распространенная неверная интерпретация заказа MX-предпочтения заключается в том, что она предназначена для обеспечения «перехода на другой ресурс» в случае перегрузки сервера. Хотя его можно использовать таким образом, это плохой метод управления ресурсами, поскольку он преднамеренно создает перегрузку, не полностью использует доступное оборудование и не позволяет проверить MX-записи. Присвоение того же значения всем доступным серверам дает одинаковое преимущество, может помочь избежать ситуаций перегрузки и тем самым увеличить пропускную способность системы за счет уменьшения задержки.
Протоколирование SMTP
Протокол SMTP устанавливает сеть store-and-forward, и если почтовые серверы домена находятся в автономном режиме, отправляющим серверам требуется очередь сообщений, предназначенных для этого домена, для повторной попытки позже. Однако эти отправляющие серверы не могут быть уведомлены о том, что теперь доступны серверы автономного домена, и обнаруживают, что домен доступен только в том случае, если при отправке отложенных сообщений будет предпринята следующая попытка.
Задержка между тем, когда серверы домена подключены к сети и когда отложенные сообщения окончательно доставляются, может быть от минут до нескольких дней, в зависимости от графика повторов отправляющих серверов. Проблема заключается в том, что резервные копии имеют уникальную квалификацию для решения и не позволяют проверить MX-запись домена.