Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Каталог документации / Раздел "Электронная почта" / Оглавление документа

17. Роуер DNSLOOKUP


    Роутер “dnslookup” при помощи запросов к DNS ищет узлы, обрабатывающие почту для данного домена. Если не установлена опция “verify_only”, то для этого роутера должен быть всегда определен транспорт.
   Если в конфигурации есть поддержка SRV (см. опцию
“check_srv” ниже), Exim сначала ищет SRV-записи. Если они не найдены или поддержка SRV отсутствует, то ищутся MX-записи. Если MX-записей нет, ищутся А-записи. Однако, может быть установлена опция “mx_domains” для отключения прямого использования адресных записей.
   MX-записи равного приоритета сортируются Exim в случайном порядке. Затем Exim ищет адресные записи имен узлов, полученных из MX- или SRV-записей. Если узел имеет более одного IP-адреса, они сортируются в случайном порядке, за исключением того, что IPv6-адреса всегда сортируются перед IPv4-адресами. Если все найденные IP-адреса отбрасываются общей опцией
“ignore_target_hosts”, то роутер отклоняется.
   Все MX-записи, указывающие на локальный узел или на любое другое имя узла, определенное опцией
“hosts_treat_as_local”, и имеющие наивысший приоритет (меньшее из значений MX-записей), отбрасываются вместе с другими MX-записями равного или меньшего приоритета.
   Если узел, на который указывает MX-запись высшего приоритета или A-запись, является локальным, либо совпадает с указанным опцией
“hosts_treat_as_local”, то дальнейшее поведение управляется общей опцией “self”.

17.1 Проблемы с поиском в DNS

   Бывают проблемы с DNS-серверами при поиске записей SRV. Некоторые плохо настроенные (в оригинале - плохо поступающие) серверы возвращают ошибку DNS или не отвечабт вообще (таймаут) при запросе несуществующих записей SRV. Подобные проблемы были зафиксированы и для MX-записей. Глобальная опция “dns_again_means_nonexist” может помочь с этой проблемой, но грубо, поскольку это глобальная опция.
   Поэтому, есть две опции,
“srv_fail_domains” и “mx_fail_domains” контролирующие происходящее при при поиске в DNS в роутере “dnslookup” приводит к ошибке DNS или ответу “try again” (попробуйте снова). Если попытка поиска SRV или MX записи приводит к одному из этих результатов, и домен соответствует уместному(?) списку, то exim ведёт себя так, будто доменная система ответила - нет такой записи. В случае поиска SRV-записи это значит, что роутер продолжает искать MX-записи; в случае поиска MX продолжается поиск A или AAAA запись, если домен не совпадает с “mx_domains”, в случае ошибки маршрутизации.

17.2 Частные опции для dnslookup

   Ниже приведен список специфичных опций, которые могут быть использованы для изменения способа обработки поиска в DNS.
check_secondary_mx
Use: dnslookup
Type: boolean
Default: false


   Если установлена эта опция, роутер отклоняется до тех пор пока локальный узел находится в списке узлов, полученном при запросе MX-записей. Она может быть использована для выявления доменов для которых локальный узел является вторичным почтовым сервером. Способ, которым Exim определяет является ли узел локальным узелом, описан в секции 13.8.
check_srv
Use: dnslookup
Type: string†
Default: unset


   Роутер
“dnslookup” поддерживает использование SRV-записей (см. RFC2782) в дополнение к MX- и A-записям. Поддержка их по умолчанию отключена. Для включения поддержки SRV, нужно определить опцию “check_srv” именем нужной службы. К примеру,
check_srv = smtp

ищет SRV-записи, относящиеся к нормальной службе smtp. Опция является вычисляемой, таким образом имя службы может меняться от сообщения к сообщению или от адреса к адресу. Это может быть полезно если SRV-записи используются для службы submission. Если вычисление значения завершается неудачно, опция “check_srv” игнорируется и роутер начинает поиск MX-записей обычным способом.
   Если вычисление значения завершилось успешно, то роутер сначала ищет SRV-записи для данной службы (подразумевается TCP-протокол). Простая SRV-запись с именем узела
“.” указывает на отсутствие такой службы для данного домена. В этом случае роутер отклоняется. Если находятся другие типы SRV-записей, то они используются для построения списка узелов для доставки в соответствии с правилами RFC 2782. Поиск MX-записей в этом случае не производится.
   Однако, если ни одной SRV-записи не найдено, то производится поиск MX-записей (и A-записей) традиционным способом. Другими словами SRV-записи имеют приоритет над MX-записями, так же как и MX-записи имеют приоритет над A-записями. Стоит заметить, что такое поведение не одобряется RFC2782, хотя предыдущий драфт RFC его определял. Явно утверждается что MX-записей достаточно для нужд электронной почты и что SRV-записи не должны использоваться для этих целей. Однако, SRV-записи имеют дополнительное свойство
“вес”, которое некоторые люди могут найти полезным, пытаясь распределить SMTP-нагрузку между узлами разной мощности.
   Смотрите секцию 17.1 для обсуждений поведения exim`a при ошибках поиска в DNS.
mx_domains
Use: dnslookup
Type: domain list†
Default: unset


   Домен, попадающий в список
“mx_domains” должен иметь либо MX-запись, либо SRV-запись для того чтобы быть распознанным надлежащим образом. (Имя этой опции может быть усовершенствованно). К примеру, если все почтовые серверы в домене “fict.example” имеют MX-записи, за исключением узлов в “discworld.fict.example”, то вы можете использовать такую запись:
mx_domains = ! *.discworld.fict.example : *.fict.example

   Данная запись определяет что сообщения, адресованные домену, попадающему в этот список, но не имеющему MX-записи, должны быть немедленно отклонены вместо маршрутизации их с использованием A-записи.
mx_fail_domains
Use: dnslookup
Type: domain list†
Default: unset


   Если DNS-поиск MX-записи для одного из доменов в этом списке вернул ошибку DNS, exim ведёт себя как будто MX записи вообще не найдены. Смотрите секцию 17.1 для получения подробной информации.
qualify_single
Use: dnslookup
Type: boolean
Default: true


   Когда данная опция истинна, опция
“RES_DEFNAMES” механизма разрешения имен устанавливается для посылки DNS-запросов. Обычно, но не стандартно, это указывает механизму разрешения имен соотносить простые имена с доменом по умолчанию. К примеру, на машине “ dictionary.ref.example ” домен “ thesaurus ” будет изменен на “ thesaurus.ref.example ” внутри механизма разрешения имен. Для подробного описания того, что на самом деле выполняет ваш механизм разрешения имен, обратитесь к разделам справочного руководства “ resolver ” и “ resolv.conf ”.
rewrite_headers
Use: dnslookup
Type: boolean
Default: true


   Если имя домена в обрабатываемом адресе не является полным, оно может быть раскрыто до своей полной формы при помощи DNS-запроса. К примеру, если адрес определен как
“ dormouse@teaparty ”, то домен может быть расширен до teaparty.wonderland.fict.example ”. Раскрытие домена также может быть результатом установки опции “widen_domains”. Если “rewrite_headers” истинно то все экземпляры сокращенного доменного имени во всех “ Bcc: ”, “ Cc: ”, “ From: ”, “ Reply-to: ”, “ Sender: ”, и “ To: ” строках заголовка сообщения заменяются полным доменным именем.
   Эта опция должна быть отключена только тогда, когда точно известно, что никакое сообщение не будет когда-либо отправлено за пределы того окружения, где сокращение имеет смысл.
   Если при поиске MX-записи в DNS происходит совпадение по шаблону, серверы имен обычно возвращают запись, содержащую найденное имя, тем самым делая невозможным определение присутствия шаблона. Однако, с недавних пор, некоторые серверы DNS возвращают запись шаблона. Если имя, возвращенное в результате DNS-запроса, начинается с
“*”, оно не используется для переписывания заголовков.
same_domain_copy_routing
Use: dnslookup
Type: boolean
Default: false


   Адреса с одинаковым именем домена обычно маршрутизируются роутером
“dnslookup” на один и тот же самый список узлов. Однако, данный факт не может быть доказан, так как опции роутера и предусловия иогут ссылаться на локальную часть адреса. По умолчанию, Exim маршрутизирует каждый адрес независимо друг от друга. DNS-серверы используют кэширование, таким образом повторные DNS-запросы не являются избыточными. В любом случае, личная почта в основном имеет немного получателей.
   Если вы обслуживаете списки расылки с большим количеством подписчиков в одном и том же домене, и используете  роутер dnslookup, который независим от локальной части, вы можете включить опцию
“same_domain_copy_routing” чтобы избегать повторяющихся DNS-запросов для идентичных доменов в одном письме. В этом случае, если dnslookup маршрутизирует адрес удаленному транспорту, все остальные адреса в сообщении с тем же самым именем домена получателя автоматически аналогично маршрутизируются без независимой обработки, обеспечивая следующие условия:

  • Роутер не обрабатывает адреса, определенные опциями “headers_add” или “headers_remove”.
  • Роутер не изменяет адреса в любом случае, к примеру, способом “widening” домена.
    search_parents
    Use: dnslookup
    Type: boolean
    Default: false


       Когда эта опция истинна, опция RES_DNSRCH резолвера устанавливается для выполнения DNS-запросов, что отличается от опции
    “qualify_single”, в которой это применимо к доменам, содержащем точки. Обычно, но не стандартно, это указывает механизму разрешения имен искать имя в текущем и родительском доменах. К примеру, если на машине в домене “ fict.example ” DNS-запрос “ teaparty.wonderland ” не разрешился, то резолвер попытается разрешить имя “ teaparty.wonderland.fict.example ”. Для подробного описания того, что на самом деле выполняет ваш механизм разрешения имен, обратитесь к разделам справочного руководства по “ resolver ” и “ resolv.conf ”.
       Установка этой опции в значение
    “true” может вызвать проблемы в доменах, имеющих шаблонную MX-запись, потому что любой домен, не имеющий своей собственной MX-записи, совпадает с локальным шаблоном.
    srv_fail_domains
    Use: dnslookup
    Type: domain list†
    Default: unset


       Если DNS-поиск SRV-записи для одного из доменов в этом списке вернул ошибку DNS, exim ведёт себя как будто SRV записи вообще не найдены. Смотрите секцию 17.1 для получения подробной информации.
    widen_domains
    Use: dnslookup
    Type: string list
    Default: unset


       Если DNS-запрос завершился неудачно и эта опция установлена, то каждая из этих строк по очереди добавляется в конец имени домена, и запрос выполняется снова. К примеру, если
    widen_domains = fict.example:ref.example
    
    

    указана и запрос имени “ klingon.dictionary ” завершился неудачно, запрашивается “ klingon.dictionary.fict.example ”, а если и он не разрешился, то пробуется “klingon.dictionary.ref.example”.Заметьте, что опции “qualify_single” и “search_parents”, описанные выше, могут дополнить доменное имя, чтобы быть принятыми сервисом DNS.

    17.3 Эффект опций qualify_single и search_parents

       Когда домен получателя изменяется механизмом разрешения имен в результате применения опций “qualify_single” или “search_parents”, Exim переписывает соответствующий адрес в строках заголовка письма, если опция “rewrite_headers” не установлена в “false”. Затем Exim маршрутизирует адрес заново, используя полное доменное имя.
       Эти две опции действуют только на DNS-запрос, который выполняется роутером для домена маршрутизируемого адреса. Они не действуют на запросы, выполняемые для записей такого рода:
    
    domains = @mx_any
    
    

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


    begin translation by http://exim.org.ua/mailman/listinfo/exim-doc-translation
    edit, verification and complete translation by lissyara


    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить новость, Поддержать