Сервер iRedMail, настроенный с использованием DNS-серверов провайдера. Работает несколько лет без проблем. Переход от текущего провайдера к Starlink. Похоже, Starlink использует общедоступный DNS Cloudflare.В настоящее время оба интернет-провайдера работают параллельно до завершения переключения. Опять же, почтовый сервер работает нормально на устаревшем провайдере.
Когда я переключаюсь на Starlink (включая соответствующие общедоступные изменения DNS), получаю сообщение об ошибке 12.255.255.254 от Spamhaus, которое указывает они не разрешат запросы с публичных DNS-серверов. Справедливо. Настройте локальный преобразователь Unbound, чтобы обойти проблему. Unbound работает и используется для всех сетевых клиентов. Когда IP-адрес несвязанного сервера используется для DNS на почтовом сервере со шлюзом устаревшего интернет-провайдера, потоки входящей почты.
При использовании шлюза Starlink почта перестает приходить. Не вижу никаких ошибок в журнале Postfix. Почта просто перестает идти. Несмотря на то, что Spamhaus, казалось, был рад использовать сервер Unbound при использовании устаревшего шлюза, на всякий случай проверил ответы Spamhaus. Результаты были интересными:
% dig +short @[адрес непривязанного сервера] 2.0.0.127.zen.spamhaus.org
127.0.0.2
127.0.0.10
127.0.0.4
%
Это верно. Однако следующее ничего не возвращает:
% dig +short @[адрес непривязанного сервера] 1.0.0.127.zen.spamhaus.org
%
Из документации Spamhaus должно возвращаться:
Хост 1.0.0.127.zen.spamhaus.org не найден: 3 (NXDOMAIN)
В документации Spamhaus также говорится: «Запросы для объектов not_listed всегда должны возвращать NXDOMAIN, чтобы фильтрация почты работала правильно». и «Очень важно проверять правильные результаты как для запросов «в списке», так и для запросов «не в списке».
Интересно, что когда я использую устаревший DNS и шлюз провайдера, я также получаю:
% dig +short @[устаревший IP-адрес DNS-провайдера] 1.0.0.127.zen.spamhaus.org
%
Кстати, исходящая почта работает во всех конфигурациях провайдера. Только входящая почта имеет проблемы. Также работает веб-сервер за Starlink, который работает нормально. Публичный IP-адрес Starlink остается неизменным уже два месяца.
Что именно здесь происходит? Может ли это быть конфигурация сервера Unbound? Я знаю, что Starlink - это CGNAT, но это не должно вызывать эту проблему. Любые советы по устранению неполадок? Действительно запутался. Был бы признателен за любую помощь.
ОБНОВИТЬ:
Я нашел в своих отклоненных сообщениях много записей, которые выглядят так после того, как я перерезал все на Starlink:
451 4.3.5 <mta-d-130-24.infusionmail.com>: команда Helo отклонена: ошибка конфигурации сервера; [email protected] to=<mike@[Имя моего общедоступного почтового сервера]> proto=ESMTP helo=<mta-d-130-24.infusionmail.com> (всего: 1)
1 infusionmail.com ([email protected])
ОБНОВЛЕНИЕ 2:
Настройте сервер BIND9, как показано ниже. Опять же, почта проходит при использовании BIND9 DNS и устаревшего шлюза интернет-провайдера, но не при использовании шлюза Starlink.
Использовал следующий инструмент для тестирования https://mxtoolbox.com/diagnostic.aspx
Проходит все тесты, когда почтовый сервер работает за устаревшим DSL. При беге за Starlink получите:
19.03.2022 17:33:54 Попытка подключения №1 — невозможно подключиться через 15 секунд. [15,05 сек]
LookupServer 15051 мс
Это похоже на то, что почтовый сервер не отвечает на порту 25 из-за Starlink. Я попытался удалить все правила спама в Postfix. Все еще не отвечает.
Почти похоже на проблему с брандмауэром, но у меня есть порты 25, 587 и 993, переадресованные с маршрутизатора Starlink, как и для устаревшего маршрутизатора DSL.
Извне моей сети я определил, что следующие порты не заблокированы:
25:
% telnet [имя моего общедоступного почтового сервера] 25
220 [Имя моего общедоступного почтового сервера] ESMTP Postfix
587:
% telnet [имя моего общедоступного почтового сервера] 587
220 [Имя моего общедоступного почтового сервера] ESMTP Postfix
993:
% openssl s_client -connect [Имя моего общедоступного почтового сервера]:993 -crlf -quiet
depth=1 O = Digital Signature Trust Co., CN = DST Root CA X3
ошибка подтверждения: число = 10: срок действия сертификата истек
notAfter=30 сентября 14:01:15 2021 по Гринвичу
проверить возврат: 0
depth=1 O = Digital Signature Trust Co., CN = DST Root CA X3
ошибка подтверждения: число = 10: срок действия сертификата истек
notAfter=30 сентября 14:01:15 2021 по Гринвичу
проверить возврат: 0
depth=3 O = Digital Signature Trust Co., CN = DST Root CA X3
ошибка подтверждения: число = 10: срок действия сертификата истек
notAfter=30 сентября 14:01:15 2021 по Гринвичу
проверить возврат: 0
* OK [ВОЗМОЖНОСТЬ IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) готов.
Это должно доказать, что Starlink не блокирует ни один из моих портов.
Я думаю, что самым важным моментом на данный момент является то, что команда HELO отклоняется. Не уверен, почему он будет отклонен, если сервер работает за Starlink, а не за устаревшим провайдером. Хм...
Может ли это быть проблема с обратным DNS? У Starlink есть запись PTR для IP-адреса, который они мне дают:
% host [публичный IP-адрес Starlink]
[публичный IP-адрес Starlink].in-addr.arpa указатель доменного имени customer.sttlwax1.pop.starlinkisp.net.
% dig +short customer.sttlwax1.pop.starlinkisp.net
%
% dig +короткая почта.[мой домен].com
[публичный IP-адрес Starlink]
Затем я проверил свой старый DSL:
% host [устаревший общедоступный IP-адрес DSL]
[Устаревший общедоступный IP-адрес DSL].in-addr.arpa указатель доменного имени client-[Устаревший общедоступный IP-адрес DSL].hostwindsdns.com.
% dig +short client-[устаревший общедоступный IP-адрес DSL].hostwindsdns.com
%
% dig +короткая почта.[мой домен].com
[Устаревший общедоступный IP-адрес DSL]
Похоже, они ведут себя одинаково и имеют ту же проблему.