Нещодавно у мене виникла проблема, коли віддалена служба, яка запитувала IP-адресу для мого сервера (з розміщеним постачальником DNS), відповідала:
DNS problem: SERVFAIL looking up A for mysql.xavamedia.nl
(Оновлення: віддалений сервіс, згаданий тут, Let’s Encrypt; я подав помилку на їх трекер випуску, який привів мене на цей шлях.)
Під час тестування в моїй локальній мережі я зміг побачити, що інколи отримую порожню відповідь DNS від розміщеного DNS-сервера. Мабуть, це переривчастість, оскільки це відбувається лише тоді, коли записи DNS не знаходяться в кеші, і це лише проблема, коли сервер DNS справді зайнятий.
Ось Wireshark опис порожнього відповіді:
Звичайно, оскільки більшість запитів і відповідей DNS надсилаються через UDP, локальний резолютор просто зачекає деякий час на відповідь, а потім відмовиться. Що мені зараз цікаво, чи є вказівки щодо часу реагування DNS? Мій хостинг DNS знизав плечима і сказав, що мій місцевий дозвіл надсилає порожню відповідь занадто рано. У мене ніколи не було цієї проблеми, але я здивований режиму відмови - порожній відповідь DNS без коду помилки.
Хтось знає якісь рекомендації щодо того, як це має працювати, і коли / як я можу довести, що мій DNS хостинг робить щось не так?
dig
/nslookup
або розріз Wireshark. (tcpdump
не буде досить добре) Якщо ви користуєтесьnslookup
, виконайтеset debug
спочатку.