Назад | Перейти на главную страницу

Что означает «Предупреждение: ответ на запрос не задан» в выводе dig?

Как видно из названия, что означает «Предупреждение: ответ на запрос не задан». Я вижу следующее в источнике dighost.c (строки 2888 и 2889), но все еще не уверен, что в ответе моих DNS-серверов может вызвать это.

if (result == ISC_R_SUCCESS && (msgflags & DNS_MESSAGEFLAG_QR) == 0)
    printf(";; Warning: query response not set\n");

В QR бит (MSB в третьем октете заголовка) указывает, является ли пакет запросом (0) или ответом (1).

Поэтому все клиенты ДОЛЖНЫ отправлять пакеты с этим битом, а сервер ДОЛЖЕН отправлять их обратно с этим установленным битом. Сообщения об ошибках сообщают вам, что был получен ответ, помеченный как запрос.

Кстати, несколько лет назад в DNS-сервере Microsoft была известная ошибка, когда он отвечал на пакет, даже если в этом пакете был установлен бит QR! В результате удалось вызвать пакетный цикл.

Похоже, это связано с неправильной настройкой QR-части заголовка ответа.