Коды ответа DNSBL: 127.0.0.2, 127.255.255.x и NXDOMAIN
Если запрос к DNSBL возвращает адрес из 127.0.0.0/8, IP или домен внесен в список; ответ NXDOMAIN означает, что его там нет. Помимо этого, конкретное число зависит от списка, некоторые ответы 127.x — это коды ошибок, а не записи, а SERVFAIL или тайм-аут вообще ничего не говорят о статусе в списке.
В этом руководстве разобраны соглашения, зафиксированные в RFC 5782, и коды ответа, которые Spamhaus, SpamCop и UCEPROTECT описывают на своих страницах. Оно основано на этих официальных страницах по состоянию на ноябрь 2026 года. Списки меняют свои данные и правила, поэтому прежде чем действовать по результату, сверьтесь с документацией оператора. Если нужны общие сведения о том, как работают черные списки, начните с материала что такое DNSBL (RBL).
Основы: что RFC 5782 говорит о кодах ответа
RFC 5782, опубликованный в феврале 2010 года, описывает, как выполняются запросы к черным и белым спискам DNS и как выглядят их ответы. Это информационный (Informational) документ, а не спецификация Standards Track: он фиксирует распространенную практику, а детали назначения значений оставлены на усмотрение каждого оператора списка.
Как строится запрос
Для IPv4 порядок октетов переворачивается и добавляется зона списка. Чтобы проверить 192.0.2.99 по bl.example.com:
dig +short 99.2.0.192.bl.example.com A
dig +short 99.2.0.192.bl.example.com TXTДля IPv6 адрес записывается как 32 шестнадцатеричных полубайта (nibble) в обратном порядке, после которых идет зона. Доменные списки просто используют доменное имя, за которым следует имя зоны; RFC отмечает, что списки по именам встречаются гораздо реже, чем списки по IP.
Запись A: в списке или нет
- В списке: список возвращает запись A. Согласно RFC, все значения A должны находиться в 127.0.0.0/8, чтобы не порождать нежелательный сетевой трафик, а по соглашению значение равно 127.0.0.2.
- Нет в списке: для адреса не должно быть никаких записей. В терминах DNS ответ — NXDOMAIN, то есть имя не существует.
- Значение записи A нельзя использовать как IP-адрес. 127.0.0.2 — это флаг, а не сервер, к которому нужно подключаться.
Запись TXT: причина и URL
Согласно RFC, DNSBL следует публиковать запись TXT с описанием причины внесения, и эта причина часто содержит URL с дополнительной информацией. Клиентское ПО обязано проверять запись A и может проверять запись TXT. Текст TXT часто используется в сообщении об ошибке SMTP, поэтому сообщение об отказе может содержать взятую из него ссылку для проверки или удаления.
Почему списки возвращают разные числа: подсписки и битовые маски
Значение, отличное от 127.0.0.2, обычно означает, что зона объединяет несколько подсписков. RFC 5782 описывает три способа их представления: поддомены, несколько записей A и значения с битовым кодированием.
- Несколько записей A: у каждого подсписка свое значение, и список возвращает по одной записи A для каждого подсписка, в котором есть адрес.
- Битовые маски: каждому подсписку назначается бит, а ответ — логическое ИЛИ битов всех совпавших подсписков. В примере RFC адрес из подсписков 127.0.0.2 и 127.0.0.4 возвращает 127.0.0.6.
Главное: в самом RFC сказано, что общепринятого соглашения о соответствии названий подсписков и значений нет. Одно и то же число в разных списках может означать разное. Всегда читайте код ответа вместе с зоной, которая его вернула, и по документации именно этого списка. RFC также указывает, что клиентское ПО должно уметь применять к возвращаемым значениям битовые маски и проверки диапазонов.
Spamhaus ZEN — хороший пример варианта с несколькими ответами. В его документации сказано, что запрос, как правило, дает в одном DNS-ответе несколько различных ответов — по одному для каждого набора данных, в котором числится IP, с отдельным кодом для каждого набора. Увидеть сразу два-три кода — нормально.
Коды ответа основных черных списков
В таблице ниже приведены коды ответа, которые операторы описывают на своих официальных страницах.
| Список (зона) | Код ответа | Значение (по данным оператора) |
|---|---|---|
| Spamhaus ZEN (zen.spamhaus.org) | 127.0.0.2 | SBL |
| Spamhaus ZEN | 127.0.0.3 | CSS |
| Spamhaus ZEN | 127.0.0.4 | XBL (данные CBL) |
| Spamhaus ZEN | 127.0.0.9 | DROP, возвращается вместе с 127.0.0.2 |
| Spamhaus ZEN | 127.0.0.10 / 127.0.0.11 | PBL (ведет провайдер / ведет Spamhaus) |
| Spamhaus DBL (dbl.spamhaus.org) | 127.0.1.2, от 127.0.1.4 до 127.0.1.6 | Домен с низкой репутацией: спам, фишинг, вредоносное ПО, C&C ботнета |
| Spamhaus DBL | от 127.0.1.102 до 127.0.1.106 | Легитимный домен, используемый злоумышленниками (127.0.1.103: домен-редиректор, используемый в спаме) |
| Spamhaus DBL | 127.0.1.255 | К DBL отправлен запрос с IP-адресом, что не допускается |
| SpamCop (bl.spamcop.net) | 127.0.0.2 | В списке |
| UCEPROTECT (dnsbl-1, dnsbl-2, dnsbl-3.uceprotect.net) | На странице об использовании DNS не указан | По одной зоне для Level 1, 2 и 3 |
- Spamhaus: ZEN объединяет SBL, CSS, XBL и PBL и охватывает только IP-адреса; домены проверяются по DBL. DBL использует 127.0.1.0/24, а список Zero Reputation Domains — 127.0.2.0/24. Поскольку на запрос с IP DBL всегда отвечает 127.0.1.255, проверять по нему IP нельзя. О значении каждого списка Spamhaus и о том, как запросить удаление, см. наше руководство по удалению из Spamhaus.
- SpamCop: официальный FAQ указывает 127.0.0.2 как ответ, означающий, что IP внесен в список. В нем также рекомендуется не отклонять отфильтрованную почту сразу, а оставлять пользователям доступ к ней, например помечая ее или перемещая в отдельную папку. Удаление описано в нашем руководстве по удалению из SpamCop.
- UCEPROTECT: на странице об использовании DNS перечислены три имени зон, но возвращаемые значения не описаны. Там сказано, что метод DNS действительно полезен только для малых и средних почтовых серверов, а для систем с более чем 100 000 запросов в день предлагается rsync. Уровни объяснены в нашем руководстве по UCEPROTECT Level 2 и 3.
- Barracuda: его возвращаемые значения здесь не рассматриваются. Смотрите собственные страницы Barracuda Central.
127.255.255.x и публичные резолверы: ответы, которые не являются записями
Spamhaus резервирует 127.255.255.0/24 для кодов ошибок. Они могут возвращаться для любой зоны, и официальный FAQ указывает, что их нельзя понимать как признак того, что запрошенный объект внесен в список.
| Код ответа | Значение |
|---|---|
| 127.255.255.252 | Опечатка в имени DNSBL |
| 127.255.255.254 | Запрос через публичный или открытый резолвер |
| 127.255.255.255 | Чрезмерное число запросов |
Почему результатам через публичные резолверы нельзя доверять
В FAQ Spamhaus сказано, что при запросах через крупные публичные резолверы в большинстве случаев приходит ответ «не в списке» (NXDOMAIN). Иными словами, IP из списка может выглядеть чистым. Тот же FAQ называет использование Amazon, Quad9, Google, Cloudflare или другого публичного резолвера самой частой причиной обратной проблемы, когда кажется, что список блокирует весь интернет.
Некоторые резолверы также подменяют ответы NXDOMAIN и возвращают IP-адрес для несуществующих имен. Почтовый сервер может принять это за запись в списке. FAQ предлагает настроить почтовый сервер так, чтобы он игнорировал любые ответы вне 127.0.0.0/8, использовать собственный резолвер или обратиться к интернет-провайдеру или поставщику DNS. Чтобы узнать, какой резолвер вы на самом деле используете, FAQ приводит такую проверку:
dig txt whoami.fastly.netЕсли вы используете фильтрацию по DNSBL на собственном почтовом сервере, убедитесь также, что он не отклоняет почту каждый раз, когда видит ответ 127.255.255.x. Spamhaus называет это ошибкой конфигурации.
NXDOMAIN, SERVFAIL и тайм-аут
Каждый DNS-ответ содержит код ответа (RCODE), определенный в RFC 1035. Читая результат DNSBL, отделяйте RCODE от значения записи A.
| Ответ | Что это значит в DNS | Как читать для DNSBL |
|---|---|---|
| Запись A в 127.0.0.0/8 (кроме 127.255.255.x) | Нет ошибки (NOERROR) | В списке; сверьте значение с документацией этого списка |
| NXDOMAIN (Name Error) | Запрошенное имя не существует | Нет в списке — при условии, что запрос шел через подходящий резолвер |
| 127.255.255.x | Ответ, выглядящий обычным, но сигнализирующий об ошибке | Неизвестно; исправьте резолвер или запрос |
| SERVFAIL (Server failure) | Сервер имен не смог обработать запрос | Неизвестно |
| Тайм-аут | Ответ не пришел | Неизвестно |
RFC 5782 не говорит, как клиентам обрабатывать список, который сбоит или не отвечает. Считать SERVFAIL или тайм-аут ни признаком внесения, ни признаком отсутствия в списке нельзя. Повторите запрос позже или отправьте его другим путем.
Проверяйте работу списка по тестовым записям
RFC 5782 требует, чтобы списки IPv4 содержали запись для 127.0.0.2 и не содержали записи для 127.0.0.1. Списки IPv6 используют ::FFFF:7F00:2 (в списке) и ::FFFF:7F00:1 (нет в списке), а доменные списки — зарезервированные имена TEST (в списке) и INVALID (нет в списке).
dig +short 2.0.0.127.zen.spamhaus.org A
dig +short 1.0.0.127.zen.spamhaus.org AЕсли первый запрос возвращает код внесения (значение 127.x, кроме 127.255.255.x), а второй ничего не возвращает, запросы к этому списку работают. Если первый возвращает 127.255.255.x, ваш путь запроса отклоняется. RFC указывает, что клиентам следует периодически проверять тестовые записи и не использовать список без корректных тестовых записей. Там же отмечено, что операторы, закрывающие список, иногда удаляли все записи или устанавливали wildcard-запись, которая вносит в список все адреса. Если 127.0.0.1 тоже возвращается как внесенный, подозревайте список или свой путь запроса, а не свой IP.
Как на практике читать свой результат
- Выберите правильный IP или домен. Используйте IP из сообщения об отказе или IP отправляющего сервера из строк Received в заголовках письма.
- Проверьте сразу несколько списков. Наш сервис проверки по черным спискам за один проход опрашивает основные списки.
- Читайте каждый код вместе с его зоной. Код внесения в 127.0.0.0/8 (кроме 127.255.255.x) означает, что адрес в списке; выясните, что это значение означает в данном списке. Ответ 127.255.255.x, SERVFAIL или тайм-аут означают, что статус пока неизвестен.
- Посмотрите запись TXT и страницу проверки оператора. Многие списки возвращают причину или URL. Считайте окончательным результат на странице проверки самого оператора.
- Устраните причину, затем следуйте процедуре удаления этого списка. Удалять ли запись и когда, решает каждый оператор. Если причина сохраняется, запись обычно появляется снова.
Полный порядок диагностики при возврате писем см. в материале письма, заблокированные черным списком. Если нужна помощь в интерпретации результатов или поиске причины, вы можете обратиться к нам по вопросу удаления из списков.
Мы порекомендуем специалистов, которые возьмут на себя запросы на исключение из списков, консультации и советы (от JPY 50,000). Решение об исключении принимает оператор каждого списка, поэтому результат гарантировать нельзя.
Получить помощьЭтот сайт может получать вознаграждение за рекомендацию от указанных специалистов. About
Частые вопросы
Проверка вернула 127.0.0.2. В каком я списке?
Вы в списке той зоны, к которой был запрос. 127.0.0.2 — общепринятое значение, которое используют многие списки, поэтому само число список не определяет. В Spamhaus ZEN оно означает SBL, в SpamCop — просто «в списке». Читайте его вместе с именем зоны и документацией этого списка.
Я получил 127.255.255.254. Я в черном списке?
Нет. В зонах Spamhaus это код ошибки, означающий, что запрос пришел через публичный или открытый резолвер. Он не означает, что IP внесен в список. Проверьте еще раз на странице проверки самого Spamhaus или отправьте запрос не через публичный резолвер.
Почему разные инструменты по-разному показывают, в списке ли я?
Частая причина — резолвер, через который выполняется запрос. Через публичные резолверы IP из списка может выглядеть чистым, или вы можете получить коды ошибок. Инструмент также может показывать SERVFAIL или тайм-аут как «нет в списке». В случае сомнений используйте официальную страницу проверки оператора списка.
Для моей записи нет записи TXT. Что-то не так?
Не обязательно. RFC 5782 говорит, что DNSBL следует (should) публиковать причину в TXT, но это не обязательное требование (must), а проверка записи TXT для клиентов необязательна. Внесение в список определяется записью A.
Использованные официальные страницы
Факты в этой статье на момент публикации были сверены с официальными страницами ниже. Правила и поведение сервисов меняются без предупреждения, поэтому перед важными решениями проверьте официальные страницы.
- RFC 5782: DNS Blacklists and Whitelists
- RFC 1035: Domain Names - Implementation and Specification (RCODE)
- Spamhaus FAQ: DNSBL Usage (return codes and public resolvers)
- Spamhaus: ZEN Blocklist
- Spamhaus: Domain Blocklist (DBL)
- SpamCop FAQ: How do I configure my mailserver to reject mail based on the blocklist?
- UCEPROTECT: Using DNS Lookups
Похожие статьи
Что такое DNSBL и RBL: запрос по перевернутому IP, записи A и TXT, IPv6, списки по IP и по доменам, белые списки и почему адреса попадают в списки.
Попали в Spamhaus? Узнайте, в каком вы списке (ZEN, PBL, XBL, CSS, SBL, DBL), что означают коды ответа и как правильно добиться исключения из каждого.
Как отслеживать IP и домены отправки по черным спискам DNS: скрипт на dig и cron, пакетный API с вебхуками и уведомления без ложных тревог.