Решение вашей проблемы:
В этом случае я не думаю, что проблема связана с вашими записями PTR, а скорее с тем, как работает система обратного прокси Cloudflare. Если ваш домен использует прокси-сервер Cloudflare, то он больше не указывает на ваш сервер.
Решение состоит в том, чтобы отключить проксирование Cloudflare для доменов/поддоменов, на которых расположены почтовые серверы.
Ответ на ваш вопрос:
Запросы DNS и rDNS выполняются отдельно, но сначала выполняется запрос DNS, чтобы определить, какой IP-адрес запрашивать для rDNS/PTR. В этом случае Cloudflare, по сути, заменяет ваш IP-адрес в ответе DNS своим собственным, что и вызывает проблему.
Например, если у вас есть мойдомен.пример
, а ваши настройки DNS Cloudflare представляют собой запись A, указывающую на 192.0.2.1
с включенным прокси-сервером домен фактически указывает на серверы Cloudflare, которые затем перенаправляют трафик на ваш.Однако это означает, что поиск PTR будет запрашивать серверы Cloudflare, а не ваши, что сообщит об отсутствии записей:
❏ dig proxied.mydomain.example # Удаленный почтовый сервер запрашивает запись A проксируемого домена.
;; РАЗДЕЛ ВОПРОСОВ:
;прокси.мойдомен.пример. В
;; РАЗДЕЛ ОТВЕТОВ:
прокси.мойдомен.пример. 300 IN A 104.21.30.252 # Сервер Cloudflare
прокси.мойдомен.пример. 300 IN A 172.67.174.61 # Сервер Cloudflare
❏ dig -x 104.21.30.252 # Удаленный почтовый сервер проверяет PTR/rDNS обоих IP-адресов (это реальный IP-адрес Cloudflare)
;; РАЗДЕЛ ВОПРОСОВ:
;252.30.21.104.in-addr.arpa. В ПТР
;; ОТДЕЛ ПОЛНОМОЧИЙ:
21.104.in-addr.arpa. 3600 IN SOA cruz.ns.cloudflare.com. dns.cloudflare.com. 2034580120 10000 2400 604800 3600
# Сервер не возвращает записи PTR, потому что запрашивается сервер Cloudflare.
Если вы отключите проксирование Cloudflare для DNS-записи почтового сервера, это будет выглядеть примерно так:
● dig unproxied.mydomain.example # Удаленный почтовый сервер запрашивает A-запись домена без прокси.
;; РАЗДЕЛ ВОПРОСОВ:
;unproxyed.mydomain.example. В
;; РАЗДЕЛ ОТВЕТОВ:
непроксированный.мойдомен.пример. 300 IN A 192.0.2.1 # DNS-сервер возвращает IP-адрес вашего сервера.
❏ dig -x 192.0.2.1 # Почтовый сервер запрашивает PTR на ВАШЕМ сервере.
;; РАЗДЕЛ ВОПРОСОВ:
;117.8.209.209.in-addr.arpa. В ПТР
;; РАЗДЕЛ ОТВЕТОВ:
117.8.209.209.in-addr.arpa. 86400 IN PTR unproxied.mydomain.example.
# PTR возвращает правильное значение.
(Обратите внимание, что я пропустил поиск MX/SPF/DKIM/DMARC в этом ответе, потому что, насколько мне известно, Cloudflare не связывается с ними, если вы не укажете свою запись на проксированную запись A/AAAA/CNAME. .)