Пошук DNS і порівняння резолверів

Вкажіть тип запису, і запит одразу піде до чотирьох публічних резолверів. Відповіді розміщено поруч одна з одною, далі йде таблиця значення-за-значенням, яка показує, який резолвер повернув який запис, тож розбіжність видно одразу, а не прихована за думкою одного резолвера. Кожна відповідь зберігає свій TTL, і кожен резолвер повідомляє, чи зміг перевірити ім'я за допомогою DNSSEC. Коли резолвери розходяться, сторінка не вгадує: вона перелічує саме те, що відрізняється, і подає два пояснення, які охоплюють майже кожен реальний випадок, а потім каже, як їх відрізнити.
Готово. Запит ще не надіслано.
Введіть ім'я, оберіть тип запису, потім розв'яжіть.
Типи записів. A зіставляє ім'я з адресою IPv4, AAAA — з адресою IPv6. CNAME каже, що ім'я є іншим іменем, і резолвери проходять ланцюжок до кінця. MX перелічує поштові сервери, кожен із числом пріоритету, де найменше число пробується першим. TXT містить вільний текст і саме там живуть поштові політики: політика SPF починається з v=spf1, ключ DKIM міститься під іменем селектора, що закінчується на ._domainkey, а політика DMARC розміщується в _dmarc перед доменом. NS перелічує сервери імен, відповідальні за зону, SOA — це службовий запис самої зони, що містить час кешування негативних відповідей. SRV знаходить службу на хості та порту, CAA каже, які центри сертифікації можуть видавати сертифікати для імені, PTR — це зворотний напрямок від адреси назад до імені, а TLSA закріплює сертифікат для однієї служби. DS і DNSKEY несуть ключі, що роблять можливою перевірку DNSSEC, а HTTPS і SVCB описують, як дістатися до служби, включно з параметрами новіших протоколів.

Коди відповіді. NOERROR без записів означає, що ім'я існує, але немає нічого вашого типу. NXDOMAIN означає, що імені взагалі немає, і ця відповідь кешується на деякий час, тож ім'я, створене хвилину тому, може все ще показуватися як відсутнє. SERVFAIL означає, що резолвер не зміг завершити роботу, а зламаний підпис DNSSEC — одна з найчастіших причин. REFUSED означає, що резолвер відмовився відповідати на цей запит.

TTL. TTL — це кількість секунд, протягом яких резолвер може зберігати запис. Саме через нього два резолвери можуть законно показувати різні відповіді деякий час: один ще тримає стару копію, доки не спливе його таймер. Тому першим, що варто перевірити після змін, є те, чи всі резолвери наздогнали, а не те, чи один із них помиляється.

DNSSEC, одним абзацом. Резолвер, який повідомляє про прапорець автентичних даних, каже, що зміг перевірити відповідь криптографічними підписами, починаючи з власного ключа домену. Відсутній прапорець не доводить підміни: зона може бути просто не підписана, або резолвер взагалі не перевіряє. Найцікавіший випадок — коли резолвер повідомляє про збій, тоді як інші повертають записи, бо невдалий підпис — саме те, як виглядає підроблена відповідь.

Відповіді, що виглядають хибними, але ними не є. Великі сайти, мережі доставки контенту та все з DNS, що враховує розташування, навмисно видають різні адреси різним резолверам, тож розбіжність там є нормою і не є ознакою чогось поганого. Адреса на кшталт 0.0.0.0, :: або приватна адреса у відповіді A чи AAAA зазвичай є навмисним блокуванням з боку того, хто керує резолвером, а не перехопленням на дроті, але це означає, що резолвер змінив відповідь. Ця сторінка показує вам різницю і міркування, і ніколи не каже, яка з відповідей справжня.