Имеется машина с Sendmail'ом, которая исопльзуется в качестве транзитного релея. Вся входящая почта пересылается либо по mailertable, либо по smarthost в качестве приёмников у которых указаны FQDN серверов.Схема проста, из сети Интернет принимается почта и пересылается либо по mailertable либо по smarthost внутренним почтовым серверам, которые и занимаются маршрутизацией (получается примерно так если входящая почта в домен a.domain.ru то пересылаем по mailertable, всюостальную пуляем по smarthost'у).
С недавнего времени перестала ходить почта по smarthost'у. В логах появились следующие записи:
--------/var/log/maillog----------
Jul 28 12:32:22 me sm-mta[2023]: k517VgpV000762: to=<sch@mail.ru>, delay=00:00:02, xdelay=00:00:00, mailer=relay, pri=2090453, relay=[smarthost], dsn=4.0.0, stat=Deferred: Name server: [smarthost]: host name lookup failureГде [smarthost] - FQDN внутреннего сервера осуществляющего маршрутизацию.
Первое что мне пришло в голову, какие то баги с DNS. Лезу к серверу в консоль. Набираю nslookup [smarthost], корректно резолвится. Вот тут я вставл в тупик.Получается так что Nslookup резолвит имя, а Sendmail нет. Может в таймаутах тогда причина?
Подскажите где копать?
FreeBSD 6.2, Sendmail 8.13.4.
ПРошу прощения за некоррктное название топика.Вот есть такие решения данной проблемы.
http://forums12.itrc.hp.com/service/forums/questionanswer.do...http://www.issociate.de/board/post/270103/host_name_lookup_f...
Но это скорее временное решение чем постоянное. Хочется знать в чём же дело и почему не резолвит Sendmail доменное имя.
файл /etc/mail/service.switch имеется?
>файл /etc/mail/service.switch имеется?нет, такого файла нет.
Как я понял достаточно распространёная фича, но решения нигде так найти и не могу.
Кажется я понял в чём проблема.В качестве параметра SMART_HOST у меня была прописана хост запись внутреннего сервера. Как я понимаю, в случае с использованием DNS Sendmail'ом (а у меня именно такая конфиурация), он проверяет данную запись на наличие MX и соответственно ничего не находит.
Указание хост записи или IP-адреса в квадратных скобках (что означает отключение проверок на наличие MX-записей) должно решить проблему.
Что скажете?
скажу, что это похоже на правдуеще вчера хотелось запостить эту ссылку, но не было уверенности, что это ваш случай
http://www.anrb.ru/linux/sendmail_tips.html#5
>скажу, что это похоже на правду
>
>еще вчера хотелось запостить эту ссылку, но не было уверенности, что это
>ваш случай
>http://www.anrb.ru/linux/sendmail_tips.html#5Прописал в праметре SMART_HOST значение в квадратных скобках.
Итог - вот так с IP работает [10.10.10.10], а вот так, с FQDN не работает [smarthost.company.ru].
В принципе должны отключиться запросы на MX или квадратные скобки отключают полностью DNS проверки?
>В принципе должны отключиться запросы на MX или квадратные скобки отключают полностью
>DNS проверки?должны отключиться запросы на MX
>>В принципе должны отключиться запросы на MX или квадратные скобки отключают полностью
>>DNS проверки?
>
>должны отключиться запросы на MXНу так вот у меня вот такая конструкция
define(`SMART_HOST', `[smarthost.company.ru]') даёт ошибку логах о невозможности резолвинга хоста smarthost.company.ru.
В качестве смарт хосту нужно указать именно ДНС запись, так как IP может часто меняться.
Как это сделать?
прочитав еще раз док-ию, уточняю: квадратные скобки отключают обращение к DNS
(обязательное обращение за mx-записью)по другому сказать, кв. скобки приводят к тому, что, если указано доменное имя, происходит обращение к /etc/hosts, т.е. standard hostname lookup
так что вам остается описать smarthost.company.ru в этом файле и предусмотреть автоматическое изменение этой записи по необходимости
Возможно, я ошибаюсь, и будут другие мнения
>[оверквотинг удален]
>(обязательное обращение за mx-записью)
>
>по другому сказать, кв. скобки приводят к тому, что, если указано доменное
>имя, происходит обращение к /etc/hosts, т.е. standard hostname lookup
>
>так что вам остается описать smarthost.company.ru в этом файле и предусмотреть автоматическое
>изменение этой записи по необходимости
>
>
>Возможно, я ошибаюсь, и будут другие мненияПеречитав несколько статей пришёл к тому же выводу.
Может есть решение как указать в SMART_HOST с динамически изменяющимся IP? Например, не отключать полностью DNS, а лишь отключить проверку MX записи. Хотя я как понимаю это заложено в спецификации на SMTP.
думаю, никакесли только скрипт написать который при получении определенного извещения будет
изменять эту строку и рестартовать почтовик