Обратный DNS-запрос

Введите IP-адрес, чтобы узнать имя хоста, которому он соответствует. Затем проверка убеждается, что имя указывает обратно на тот же адрес: именно этот тест выполняют почтовые серверы, прежде чем принять письмо.

Адрес IPv4 или IPv6. Подойдёт и имя хоста: сначала оно разрешается, затем проверяется каждый из его адресов.

Взять мой адрес Или попробуйте 8.8.8.8, 2606:4700:4700::1111, smtp.gmail.com

DNS, прочитанный задом наперёд

Обычно DNS превращает имя в адрес: dns.google даёт 8.8.8.8. Обратный запрос идёт в другую сторону и спрашивает, какое имя принадлежит 8.8.8.8. В DNS нет указателя по адресам, поэтому вопрос маскируют под обычное имя. Четыре числа записываются в обратном порядке и помещаются под специальный домен:

8.8.4.4   →   4.4.8.8.in-addr.arpa

Для IPv6 32 шестнадцатеричные цифры полного адреса переставляются по одной в обратном порядке под ip6.arpa. Ответ, если он есть, это запись PTR («указатель»), в которой лежит имя хоста. В результатах показано точное имя, которое запрашивалось, и это пригодится в тот день, когда вам придётся создавать запись самому.

Порядок обратный по той же причине, по которой доменное имя читается от частного к общему. Так диапазон 8.8.4.x можно передать одной организации как зону 4.8.8.in-addr.arpa.

Кто управляет ответом

Эта часть удивляет большинство людей. Обратная запись адреса находится не в DNS-зоне вашего домена. Она принадлежит тому, кому выделен диапазон адресов, то есть хостинговой компании, облачной платформе или интернет-провайдеру. Владение example.com не даёт вам никакого права голоса в том, что отвечает 203.0.113.25.

Чтобы изменить запись, ищите «reverse DNS», «rDNS» или «PTR» в панели управления сервером или откройте заявку у провайдера. Домашние и мобильные подключения обычно получают автоматическое имя, собранное из адреса, например host-203-0-113-25.dynamic.provider.net, и изменить его нельзя.

Обратный DNS с прямым подтверждением

Владелец диапазона адресов может написать в записи PTR что угодно, в том числе mail.your-bank.com, поэтому обратное имя само по себе ничего не доказывает. Доказательство появляется, если пройти обратно. Возьмите имя, найдите его запись A (или AAAA для IPv6) и посмотрите, есть ли в ответе исходный адрес. Если есть, владелец адреса и владелец имени согласны друг с другом, и такая пара называется подтверждённой в прямом направлении (FCrDNS).

Эта проверка делает это для пяти имён на адрес максимум и выдаёт один из вердиктов:

Подтверждено в обе стороны
Имя разрешается в адрес, который вы ввели.
Не подтверждено
Имя разрешается в другие адреса или ни в какой. Для почтового сервера это считается провалом.
Нет записи PTR
У адреса нет имени. Для многих устройств это нормально, а для сервера, который отправляет почту, это проблема.

Больше всего это важно для почты. Gmail требует, чтобы у отправляющего адреса была запись PTR и чтобы она была подтверждена в прямом направлении. Другие крупные почтовые сервисы применяют то же правило, и письма с адреса, который не проходит проверку, отклоняются или попадают в спам. Многие получатели также сравнивают имя с тем, которое сервер называет в приветствии. Чтобы проверить почтовые серверы домена, воспользуйтесь тестом MX и TLS. Чтобы узнать, нет ли у адреса плохой репутации, есть проверка по чёрным спискам.

Адреса, по которым нечего искать

Некоторые диапазоны зарезервированы и никогда не появляются в публичном интернете. Проверка распознаёт их и объясняет, не отправляя запрос:

ДиапазонЧто это
10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7Частные сети: дом, офис, дата-центр
127.0.0.0/8, ::1Loopback: сама машина
169.254.0.0/16, fe80::/10Link-local: назначен самим устройством, только в одном сегменте сети
100.64.0.0/10Carrier-grade NAT: общая внутренняя сеть провайдера
192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24, 2001:db8::/32Примеры для документации
224.0.0.0/4, ff00::/8Группы multicast

Если «Мой адрес» попадает в один из них, вы смотрите на локальную копию страницы или находитесь за необычным прокси.

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

Частые вопросы

Как настроить PTR-запись для своего сервера?

Обратитесь к провайдеру IP-адреса, а не к регистратору домена. В большинстве панелей хостинга и облаков рядом с каждым адресом есть поле «reverse DNS». Впишите туда полное имя хоста сервера, затем убедитесь, что у этого имени есть запись A (или AAAA) с тем же адресом.

Почему у моего IP-адреса нет обратного DNS?

Потому что владелец диапазона адресов так и не создал для него запись PTR, и ничто этого не требует. Проблемой это становится, только когда с адреса отправляется почта или когда сервис, к которому вы подключаетесь, на этом настаивает.

Может ли у одного IP-адреса быть несколько PTR-записей?

DNS это допускает, но так делать не рекомендуется. Большинство программ читают одно имя, некоторые ломаются, когда ответ становится слишком большим, а почтовые серверы могут выбрать имя, которое не совпадает. Надёжная настройка: одно имя на адрес.

Должна ли PTR-запись совпадать с моим доменом?

Не с доменом вашего сайта. У почтового сервера она должна совпадать с именем хоста, которое сервер использует в SMTP-приветствии (например mail.example.com), и это имя должно разрешаться обратно в адрес. Множество сайтов на одном адресе спокойно делят одно обратное имя.

Покажет ли обратный запрос все сайты на IP-адресе?

Нет. Запись PTR содержит имя, выбранное оператором, обычно одно. Списки «других сайтов на этом IP» берутся из баз, собранных обходом интернета, а не из DNS, и этот инструмент их не даёт.

Что означают in-addr.arpa и ip6.arpa?

Это две ветви DNS, отведённые под обратные запросы: in-addr.arpa для IPv4 и ip6.arpa для IPv6. Адрес записывается задом наперёд под одной из них, и так получается имя, чью запись PTR запрашивают.