Назад | Перейти на главную страницу

Предотвращение отката записи MX

У меня есть веб-сайт example.com, работающий на сервере Windows 2008 с IIS 7 и службой SMTP «IIS 6». Веб-сайт регулярно отправляет электронные письма на адрес info@example.com.

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

Как лучше всего этого избежать?


РЕДАКТИРОВАТЬ: Моя настройка DNS выглядит так:

A - example.com -> 11.22.33.44
A - mail.example.com -> 55.66.77.88
CNAME - www.example.com -> example.com
MX - example.com -> server-a.outside-spam-filter-service.com
MX - example.com -> server-b.outside-spam-filter-service.com
MX - example.com -> server-c.outside-spam-filter-service.com
MX - example.com -> server-d.outside-spam-filter-service.com

Я не использую DNS-сервер на локальном компьютере. Машина настроена на использование DNS-серверов нашего провайдера хостинга (PEER1).


РЕДАКТИРОВАТЬ 2, ответы на вопросы по устранению неполадок:

1. Является ли веб-сервер частью домена AD?

Сервер не является частью домена.

2. Служба smtp на веб-сервере настроена на прием электронной почты для example.com? Если это так, и он не настроен для ретрансляции электронной почты, он будет пытаться доставить сообщение локально, а не искать записи MX, что можно спутать с возвратом к «A».

Служба SMTP настроена на прием всех локальных SMTP-подключений и настроена на ретрансляцию всех электронных писем. (Плюс, если это не было настроен на ретрансляцию, не будет ли он отказываться все электронные письма, а не только некоторые?)

3. ... Проверьте DNS-серверы, которые использует веб-сервер, и с веб-сервера выполните запросы, чтобы проверить записи mx для example.com, и убедитесь, что он возвращает правильную информацию ....

Я выполнил nslookup из командной строки, используя оба сервера, указанные в качестве DNS-серверов для основного сетевого адаптера. Записи MX вернулись, как и ожидалось.

Запись A должна быть доставлена ​​только в том случае, если записи mx отсутствуют. Если они существуют, но сервер не отвечает или не отправляет почту, отправляющий сервер должен поставить сообщение в очередь и повторить попытку. Если MX не отвечает, а отправляющий сервер пытается записать A, мне кажется, что этот сервер сломан.

Edit- .. Действия по устранению неполадок -

Поскольку это происходит только на самом веб-сервере, здесь есть на что посмотреть.

  1. Является ли веб-сервер частью домена AD? Домен AD совпадает с именем внешнего домена? Если они используют одно и то же доменное имя (example.com), тогда внутренний AD переопределит внешние DNS-серверы, и вам нужно будет убедиться, что ваш внутренний AD DNS имеет правильные записи MX.
  2. Настроена ли служба SMTP на веб-сервере для приема электронной почты для example.com? Если это так, и он не настроен для ретрансляции электронной почты, он будет пытаться доставить сообщение локально, а не искать записи MX, что можно спутать с возвратом к «A».
  3. Какие DNS-серверы настроены для использования веб-сервером? Проверьте DNS-серверы, которые использует веб-сервер, и с веб-сервера выполните запросы, чтобы проверить записи MX для example.com и убедиться, что он возвращает правильную информацию. Сделайте следующее с веб-сервера. Также просмотрите конфигурацию с веб-сервера и попробуйте использовать каждый сервер, указанный как его локальный DNS-сервер, а не внешние серверы вашей хостинговой компании.

    nslookup 
       > set type="mx"
       > example.com 
    

Поскольку вы имеете в виду, что хотите, чтобы ваши сообщения конкретный адрес электронной почты на конкретный Для прямого доступа к серверу вы можете отправить по адресу info@55.66.77.88 и настроить почтовый сервер для приема почты, отправленной на его IP-адрес, и ее доставки в правильный почтовый ящик. Это полностью исключило бы поиск DNS.

Проблема, как я понимаю, в том, что у вас нет записи A для хоста spam-filter.example.com, на который ссылается MX.

Я могу ошибаться, но я считаю, что возврат к домену A-запись должен происходить только при отсутствии записи MX ... не при отсутствии записи A, на которую ссылается MX, и не из-за пустого MX, и не из-за nxdomain.

Вы должны исправить свой DNS-преобразователь на коробке. Даже с двумя или более записями MX вы все равно будете получать отказы, поскольку ваш ящик не может разрешить ни одну из них в ваших редких случаях.

Грязным обходным путем будет установка служб Windows DNS; лучше всего, если вы можете сделать его DNS-Slave для автоматического получения всех обновлений. Для этого вы, вероятно, добавите некоторые правила на главном DNS-сервере, в зависимости от типа ОС и демона DNS.