10 из 15 конфигураций серверов в наличииМгновенная выдачаБез платы за установку

Сеть

Настройка обратных DNS-записей (PTR)

PTR-запись сопоставляет IP-адресу имя хоста, и почтовые серверы проверяют ее при каждом подключении. Задайте ее в личном кабинете или через API, проверьте и избегайте типичных ошибок.

5 мин чтенияОбновлено Все серверы

Применимо к
Все серверы
Время чтения
5 минут
Обновлено
Тема
Сеть

Не получается? Инженеры отвечают 24/7

На этой странице

Обычный DNS преобразует имя в адрес. Обратный DNS работает наоборот и отвечает на вопрос «какое имя хоста принадлежит адресу 203.0.113.10?» Почтовые серверы задают его при каждом входящем подключении, а еще он делает логи и вывод traceroute понятнее. Обратные DNS-записи бесплатны для всех адресов вашего сервера.

Что такое PTR-запись

Для обратных запросов используются специальные зоны. Для IPv4 адрес записывается в обратном порядке в зоне in-addr.arpa, для IPv6 в обратном порядке записывается каждая шестнадцатеричная цифра в зоне ip6.arpa. Тип записи — PTR:

DNS-запись
10.113.0.203.in-addr.arpa.   PTR   mail.example.com.

Эти зоны принадлежат владельцу диапазона IP-адресов, а для адресов вашего сервера это DediJet. Поэтому PTR-запись настраивается в личном кабинете DediJet, а не у DNS-провайдера вашего домена. Прямые записи A и AAAA остаются у вашего DNS-провайдера.

Почему почтовым серверам нужна обратная DNS-запись с прямым подтверждением

Принимающий почтовый сервер проверяет у подключающегося к нему IP-адреса две вещи:

  1. У адреса есть PTR-запись, например mail.example.com.
  2. Это имя хоста через свою запись A или AAAA разрешается обратно в тот же адрес.

Если оба условия выполняются, у адреса есть обратная DNS-запись с прямым подтверждением (FCrDNS). Крупные почтовые сервисы требуют ее от отправителей и без нее отклоняют письма или отправляют их в спам; многие собственные почтовые серверы тоже ее требуют — в Postfix для этого служит reject_unknown_client_hostname. Используйте то же имя, которое ваш почтовый сервер сообщает в приветствии HELO/EHLO; в Postfix оно задается параметром myhostname.

Настройте PTR-запись

  1. Сначала создайте прямую запись. У своего DNS-провайдера направьте mail.example.com на 203.0.113.10 записью A, а также добавьте запись AAAA для IPv6-адреса, с которого будете отправлять почту. Проверьте, что имя разрешается, командой dig +short mail.example.com A.

  2. Настройте обратную запись. В личном кабинете откройте сервер и выберите «Обратная DNS-запись». Укажите адрес и введите имя хоста — mail.example.com.

  3. Проверьте запись, как показано ниже.

Чтобы управлять множеством адресов или задавать PTR-записи из своих скриптов подготовки серверов, используйте API DediJet: в нем доступны те же настройки обратных DNS-записей, что и в личном кабинете.

Проверьте запись

Установите утилиты для DNS-запросов, если их нет: apt install -y bind9-dnsutils в Ubuntu и Debian, dnf install -y bind-utils в AlmaLinux и Rocky Linux. Затем:

Shell
dig -x 203.0.113.10 +short
host 203.0.113.10
dig +short mail.example.com A

Первые две команды должны вернуть mail.example.com (dig выводит имя с точкой на конце), третья — 203.0.113.10. Если оба направления совпадают, обратная запись имеет прямое подтверждение.

Распространение и кэширование

После публикации изменения резолверы, которые уже запрашивали старое значение, продолжают возвращать его, пока не истечет его TTL (время жизни). TTL — это число во втором столбце полного ответа:

Shell
dig -x 203.0.113.10 +noall +answer
Вывод
10.113.0.203.in-addr.arpa. 3600 IN PTR mail.example.com.

В этом примере TTL составляет 3600 секунд, так что резолвер, закэшировавший старый ответ, может отдавать его до одного часа. Чтобы увидеть текущее значение в обход любых кэшей, пройдите по цепочке делегирования от корневых серверов с помощью dig +trace -x 203.0.113.10.

Обратные DNS-записи для IPv6

У каждого IPv6-адреса своя PTR-запись, и заполнять всю подсеть /64 никто не станет. Настройте записи для адресов, которые вы действительно используете, — как минимум для того, с которого отправляет почту ваш почтовый сервер. dig -x сам составит длинное имя в зоне ip6.arpa:

Shell
dig -x 2001:db8:1234:5678::25 +short

IPv6 важен для почты, даже если вы его не планировали: когда обе стороны поддерживают IPv6, ваш почтовый сервер может доставлять письма через него, и тогда принимающий сервер проверяет IPv6-адрес. Либо настройте для этого адреса PTR-запись и соответствующую запись AAAA, закрепив адрес в Postfix параметром smtp_bind_address6, либо заставьте почтовый сервер использовать только IPv4 с помощью inet_protocols = ipv4. Как добавить выделенный адрес, описано в руководстве Настройка подсети /64 IPv6.

Типичные ошибки

  • Нет соответствующей прямой записи. PTR-запись указывает на имя без записи A или AAAA либо на имя, которое разрешается в другой адрес, и проверка FCrDNS не проходит.
  • Использование домена без поддомена. example.com обычно указывает на ваш сайт, который часто размещен в другом месте. Используйте отдельное имя хоста, например mail.example.com.
  • Приветствие не совпадает. Почтовый сервер представляется как localhost или под другим именем, чем в PTR-записи.
  • Почта уходит с другого адреса. PTR-запись настроена для основного IP, а письма отправляются с IPv6-адреса или дополнительного IPv4-адреса. Проверьте адрес источника в почтовых логах.
  • Завышенные ожидания от обратной DNS-записи. Она не влияет на работу сайтов и позиции в поисковой выдаче и не заменяет SPF, DKIM или DMARC.

Кратко об SPF, DKIM и DMARC

Обратная DNS-запись идентифицирует сервер. Еще три DNS-записи, которые настраиваются у вашего DNS-провайдера, подтверждают подлинность почты вашего домена:

  • SPF перечисляет адреса, которым разрешено отправлять почту от имени домена, — в виде записи TXT для example.com: v=spf1 ip4:203.0.113.10 ip6:2001:db8:1234:5678::25 -all.
  • DKIM подписывает каждое письмо. Пару ключей генерирует ваше почтовое ПО (OpenDKIM, Rspamd и другие); открытый ключ размещается в записи TXT для selector._domainkey.example.com.
  • DMARC сообщает получателям, что делать, если проверки SPF и DKIM не пройдены, и куда отправлять отчеты. Начните с записи TXT для _dmarc.example.com со значением v=DMARC1; p=none, добавьте тег rua с адресом ящика для отчетов, который вы контролируете, а когда отчеты станут чистыми, переходите на quarantine или reject.

Если вы держите почтовый сервер, он должен быть закрыт для посторонних: открытые релеи запрещены Правилами допустимого использования.

Все еще не получается?

Если личный кабинет не принимает имя хоста или новая запись не появляется даже после истечения TTL, создайте тикет в разделе Поддержка, указав адрес, имя хоста и вывод dig -x.

Нужна помощь?

Клиенты с активным сервером создают тикеты в личном кабинете, а отвечают на них инженеры 24/7.

Как работает поддержка