Коди відповідей 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, тож повідомлення про недоставлення може містити взятий звідти URL для перевірки або видалення.
Чому списки повертають різні числа: підсписки й бітові маски
Значення, відмінне від 127.0.0.2, зазвичай означає, що зона об’єднує кілька підсписків. RFC 5782 описує три способи їх представлення: субдомени, кілька записів A і значення, закодовані бітами.
- Кілька записів A: кожен підсписок має власне значення, і список повертає по одному запису A для кожного підсписку, у якому є адреса.
- Бітові маски: кожному підсписку призначено біт, а відповідь — це логічне АБО (OR) бітів усіх підсписків, що збіглися. У прикладі з 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 (веде ISP / веде 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 не вказано | По одній зоні для рівнів 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. Оскільки DBL на запит з IP-адресою завжди відповідає 127.0.1.255, перевіряти ним IP-адреси не можна. Що означає кожен список Spamhaus і як подати запит на видалення, див. у нашому посібнику з видалення зі Spamhaus.
- SpamCop: в офіційному FAQ відповіддю, що вказує на IP-адресу в списку, названо 127.0.0.2. Там також радять не відхиляти відфільтровану пошту одразу, а залишати користувачам доступ до неї, наприклад позначаючи її або переміщуючи до окремої папки. Видалення описано в нашому посібнику з видалення зі 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, використовувати власний резолвер або звернутися до свого ISP чи 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 мають публікувати причину в TXT, але це не обов’язкова вимога, а перевірка запису 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 і як працюють чорні списки DNS та RBL: зворотний запис IP, записи A і TXT, IPv6, списки IP і доменів, білі списки та причини внесення.
Потрапили до Spamhaus? З’ясуйте, у якому ви списку (ZEN, PBL, XBL, CSS, SBL, DBL), що означають коди відповіді та як вийти з кожного списку.
Як стежити за IP-адресами й доменами відправника в чорних списках DNS: скрипт на dig і cron, пакетний API з вебхуками та сповіщення без хибних тривог.