stringtranslate.com

MX-запись

Запись почтового обменника ( запись MX ) определяет почтовый сервер , ответственный за прием сообщений электронной почты от имени доменного имени. Это запись ресурса в системе доменных имен (DNS). Можно настроить несколько записей MX, обычно указывающих на массив почтовых серверов для балансировки нагрузки и резервирования.

Обзор

Записи ресурсов являются основным информационным элементом системы доменных имен (DNS). Запись MX является одной из них, и в домене может быть настроено одно или несколько из них, как показано ниже:

Приоритет типа класса TTL домена example.com . 1936 IN MX 10 onemail.example.com. example.com. 1936 IN MX 10 twomail.example.com.      

Характеристической полезной информацией записи MX [1] является значение предпочтения (выше помечено как «Приоритет») и доменное имя почтового сервера («Хост» выше).

Поле приоритета определяет, какой почтовый сервер следует предпочесть — в этом случае оба значения равны 10, поэтому ожидается, что почта будет поступать равномерно как на onemail.example.com , так и на twomail.example.com — общая конфигурация. Имя хоста должно напрямую сопоставляться с одной или несколькими адресными записями (A или AAAA) в DNS и не должно указывать ни на какие записи CNAME . [2]

Когда сообщение электронной почты отправляется через Интернет, отправляющий агент передачи почты (MTA) запрашивает в системе доменных имен записи MX доменного имени каждого получателя . Этот запрос возвращает список имен хостов серверов обмена почтой, принимающих входящую почту для этого домена, и их настройки. Затем агент-отправитель пытается установить SMTP-соединение, сначала пробуя хост с наименьшим значением «Приоритета». Система позволяет при необходимости построить для одного домена высокодоступные кластеры почтовых шлюзов. [3]

Механизм MX не предоставляет возможности предоставлять почтовые услуги на альтернативных номерах портов , а также не предоставляет возможности распределять доставку почты по набору почтовых серверов с неравным приоритетом путем присвоения каждому из них весового значения.

Предпочтение MX, расстояние и приоритет

Согласно RFC 5321, записи с наименьшим номером являются наиболее предпочтительными. [4] Эта формулировка может сбивать с толку, поэтому число предпочтений иногда называют расстоянием : меньшие расстояния более предпочтительны. В более старом RFC, RFC 974, указано, что если номера предпочтений одинаковы для двух серверов, они имеют одинаковый приоритет , поэтому эти два термина используются как взаимозаменяемые.

Номер предпочтения представляет собой беззнаковое [5] 16-битное [5] [6] поле, поэтому допустимые значения находятся в диапазоне от 0 до 65535.

Основы

В простейшем случае в домене может быть только один почтовый сервер. Например, если MTA ищет записи MX для example.com, а DNS-сервер ответил только mail.example.com с номером предпочтения 50, тогда MTA попытается доставить почту на указанный сервер. В этом случае число 50 могло быть любым целым числом, разрешенным спецификацией SMTP.

Если для запроса MX возвращается более одного сервера, сначала необходимо опробовать сервер с наименьшим номером предпочтения. Если существует более одной записи MX с одинаковым номером предпочтения, необходимо опробовать их все, прежде чем переходить к записям с более низким приоритетом. Клиент SMTP должен иметь возможность попробовать (и повторить) каждый из соответствующих адресов в списке по порядку, пока попытка доставки не будет успешной. [4]

Распределение нагрузки

Стандартный подход к распределению нагрузки входящей почты по массиву серверов заключается в возврате одного и того же номера предпочтения для каждого сервера в наборе. При определении того, на какой сервер с равным предпочтением отправлять почту, «SMTP-отправитель ДОЛЖЕН рандомизировать их, чтобы распределить нагрузку между несколькими почтовыми обменниками для конкретной организации», если только нет явной причины отдать предпочтение одному из них. [4]

Альтернативный подход — использовать многосетевые серверы, где один хост возвращает несколько IP-адресов. [3] Этот метод возлагает нагрузку на DNS, а не на SMTP-отправителя для выполнения балансировки нагрузки, которая в этом случае будет предоставлять список IP-адресов в определенном порядке клиентам, запрашивающим запись A почтового обменника. Поскольку RFC требует, чтобы SMTP-отправитель использовал порядок, указанный в запросе записи A, DNS-сервер может осторожно манипулировать своей балансировкой на основе любого метода, включая циклический DNS , загрузку почтового сервера или какую-либо нераскрытую схему приоритетов.

«Резервный» MX

Некоторые домены будут иметь несколько записей MX, одна из которых предназначена как «резервная» — с более высоким номером предпочтения, чтобы она обычно не выбиралась в качестве цели для доставки электронной почты.

Однако в случае ошибок на хостах с меньшим номером (возможно, из-за какого-либо сбоя) отправляющая электронная почта будет доставлена ​​на «резервный» хост — Queue.example.com в приведенном ниже примере:

Приоритет типа класса TTL домена example.com . 1936 IN MX 10 onemail.example.com. example.com. 1936 IN MX 10 twomail.example.com. example.com. 1936 IN MX 100 очередь.example.com.                    

Если резервный сервер имеет прямой доступ к почтовым ящикам пользователей, почта будет отправляться туда, но в противном случае она, скорее всего, будет поставлена ​​в очередь на Queue.example.com , пока сбой не будет устранен.

В отсутствие такого рода договоренности, когда все почтовые серверы домена находятся в автономном режиме, отправляющие серверы должны ставить в очередь сообщения, предназначенные для этого домена, чтобы повторить попытку позже. Однако эти отправляющие серверы не имеют возможности получать уведомления о том, что серверы ранее отключенного домена теперь доступны, и поэтому прибегают к расписанию опроса - и обнаруживают, что домен доступен, только при следующей попытке доставки. Таким образом, задержка между подключением серверов принимающего домена к сети и моментом окончательной доставки отложенных сообщений может составлять от нескольких минут до нескольких дней, в зависимости от расписания повторных попыток отправляющих серверов, и принимающий домен не имеет возможности видеть или контролировать это.

Спамеры

Спамеры могут намеренно сначала направлять почту на один из резервных (больших расстояний) MX-серверов домена, предполагая, что такой сервер будет иметь менее эффективные антиспам-фильтры. На таком предположении основан метод защиты от спама, называемый «нолистингом» .

Обработка сбоя доставки

В SMTP RFC [4] неясно, какие именно виды сбоев доставки должны привести к повторной попытке доставки через более удаленные записи MX (с более высокими значениями предпочтений).

Когда серверы указывают на временные сбои, либо явно отправляя ошибку 4xx, либо неожиданно завершая соединение (что должно рассматриваться как ошибка 451, согласно разделу 3.8 RFC), в разделе 4.5.4.1 говорится:

Отправитель ДОЛЖЕН отложить повторную попытку определенного пункта назначения после того, как одна попытка оказалась неудачной.

Однако когда отправитель повторяет попытку, RFC ничего не говорит о том, должна ли это быть ссылка на тот же сервер или на более «отдаленную» запись MX. В разделе 5.1 сказано:

Если поиск успешен, сопоставление может привести к появлению списка альтернативных адресов доставки, а не одного адреса, из-за нескольких записей MX, множественной адресации или того и другого. Чтобы обеспечить надежную передачу почты, клиент SMTP ДОЛЖЕН иметь возможность проверять (и повторять) каждый из соответствующих адресов в этом списке по порядку, пока попытка доставки не будет успешной.

Некоторые серверы (например, Sendmail и Postfix 2.1 или новее) [7] будут пытаться подключиться к следующему по дальности MX-серверу после некоторых типов временных сбоев доставки, таких как сбои приветствия. [8] Другие серверы (например, qmail и Postfix 2.0 или более ранние версии) будут использовать более удаленные записи MX только в том случае, если с серверами, указанными в записях MX на кратчайшем расстоянии, вообще невозможно связаться. Несмотря на разницу, оба варианта поведения допустимы, поскольку RFC не является конкретным.

Возврат к записи адреса

При отсутствии записи MX отправители электронной почты попытаются доставить письмо на адресную запись, например example.com.

Это основано на RFC 5321 sec. 5.1, в котором говорится:

Историческая справка

RFC 821 был опубликован в 1982 году. В нем содержатся только проходящие ссылки на DNS, поскольку на тот момент переход от HOSTS.TXT к DNS еще не начался. RFC 883, первое описание DNS, был опубликован год спустя, в конце 1983 года. В нем описывались экспериментальные и малоиспользуемые записи MD и MF. Согласно RFC 897 и RFC 921, переход на DNS начался в 1983 году, но прекращение использования HOSTS.TXT планировалось только в конце 1985 года и не было полностью прекращено до конца 1990-х годов.

В январе 1986 года RFC 973 и RFC 974 объявили устаревшими записи MD и MF, заменили их на MX и определили поиск MX с откатом к A. RFC 974 рекомендует клиентам выполнять поиск WKS [ 9 ] на каждом хосте MX, чтобы проверить, он фактически поддерживает SMTP, а в противном случае отбрасывает запись MX. Однако RFC 1123 изменил это, указав, что WKS не следует проверять.

Это означает, что SMTP использовался как минимум год с использованием HOSTS.TXT, а затем еще пару лет с использованием A, MD и MF, прежде чем появился MX. MD и MF было сложно использовать, поэтому большинство людей просто использовали пластинку A. В таких обстоятельствах MX без возврата к A не работал бы из-за значительной установленной базы почтовых серверов, использующих записи A. Первоначально MX использовался для определения шлюзов к другим сетям, но он не получил широкого распространения до тех пор, пока DNS не получил должного признания в начале 1990-х годов. [10]

Стандартные документы

Устарело:

Смотрите также

Рекомендации

  1. ^ В этих примерах соответствующее доменное имя находится в первом столбце, TTL (время жизни) во втором, а третий — это «класс записи» (в данном случае IN для Интернета) — затем MX для идентификации. тип записи. TTL — это период действия, указывающий, когда информация должна быть обновлена ​​с авторитетного сервера имен .
  2. ^ RFC 2181, раздел 10.3, Разъяснения к спецификации DNS , Р. Эльц, Р. Буш (июль 1997 г.)
  3. ^ ab HOWTO — Настройка циклического перебора и балансировки нагрузки, страница изменена: 28 февраля 2014 г., zytrax.com
  4. ^ abcd RFC 5321
  5. ^ ab RFC 974
  6. ^ RFC 1035, раздел 3.3.9
  7. ^ Если основной MX отвечает, но происходит сбой в середине транзакции, Postfix 1.2 и 2.0 не будут пытаться использовать резервный MX. Архивировано 23 июня 2009 г. на Wayback Machine . Re: не меняется на mx с более низким приоритетом. От: Виктор Духовни (Victor.DuchovniMorganStanley.com) Дата: пятница, 11 ноября 2005 г.
  8. ^ Ошибка приветствия — это код ошибки, который отправляется вместо стандартного SMTP-приветствия или в ответ на него.
  9. ^ Крейг Партридж (январь 1986 г.). МАРШРУТИЗАЦИЯ ПОЧТЫ И ДОМЕННАЯ СИСТЕМА. IETF . дои : 10.17487/RFC0974 . РФК 974 . Проверено 18 ноября 2011 г. Для каждого MX необходимо выполнить запрос WKS, чтобы узнать, действительно ли указанное доменное имя поддерживает желаемую почтовую службу. Записи MX, в которых перечислены доменные имена, не поддерживающие эту услугу, следует отбросить. Этот шаг не является обязательным, но настоятельно рекомендуется.
  10. ^ Этот раздел адаптирован из сообщения Джона Левина ietf-smtp. Архивировано 1 июня 2008 г. на Wayback Machine.