Отрицательный DNS-кэш: NXDOMAIN и отсутствие нужного типа означают разное
Фотография конкретного исполнения не приложена.
NXDOMAIN сообщает об отсутствии запрошенного имени, а NODATA — об отсутствии нужных данных при соответствующем ответе NOERROR. Это разные случаи кэширования. Отсутствие AAAA не следует автоматически интерпретировать как отсутствие самого имени или его A-записи для другого семейства адресов.
RFC 2308 задаёт отрицательный срок на основе SOA: используется минимум SOA.MINIMUM и TTL самой SOA. Поэтому создание новой записи после отрицательного ответа не обязательно становится сразу видимым через тот же рекурсивный кэш. Важно сохранить, какой отрицательный результат ранее получил клиент и на какой срок.
Тайм-аут либо SERVFAIL не являются самостоятельным доказательством NXDOMAIN. Система мониторинга должна различать отсутствие имени, отсутствие нужного типа и невозможность корректно получить ответ. Сведение всех случаев к сообщению «адрес не найден» скрывает разные действия по восстановлению и способно привести к неверному изменению рабочей зоны.
В приёмке используют тестовое имя без нужного типа, несуществующее имя и последующее появление записи. Проверяют код, содержимое и кэширование отдельно. Успех запроса к авторитетному серверу не подтверждает немедленное исчезновение отрицательного ответа из всех путей, которыми пользуется приложение телеметрии.
Основание — Selected IETF DNS RFCs, exact numbers and sections cited; Linux/glibc manual where explicitly stated, разделы RFC2308 §2.1 Name Error; §2.2 No Data; §5 Caching Negative Answers. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Реальные зоны, resolver и HTTP-клиенты не испытывались. Это проектные критерии; номера RFC обозначают документы, а не подтверждённую поддержку всех возможностей конкретным устройством.