Есть ли какой-либо метод, позволяющий возвращать устаревшие результаты DNS? Под устаревшим я имею в виду, когда срок действия TTL истек, но новая запись не может быть получена, вероятно, из-за недоступности сервера имен.
Насколько мне известно, по крайней мере, в bind 9 нет механизма для этого. Я также не смог найти ссылку на него в привязке 10. Да хоть убей, я не могу понять почему. Нет причин, по которым DNS не может использовать те же правила и методологию кеширования, что и HTTP. Сайты могут отключить или настроить свои параметры кеширования.
Мне это кажется настолько простым, что я надеюсь, что пропустил какую-то новую разработку, которой кто-нибудь может поделиться со мной :)
P.S. Я знаю, что есть некоторые инструменты для конечных пользователей, которые делают это (opendns, dnsmasq и т. Д.), Но это отнимает весь контроль у владельца домена и заставляет конечного пользователя часто делать неправильные предположения о том, как следует кэшировать файлы зоны. за пределы их TTL.
Из BIND 9.12 Перезапустить заметки на https://kb.isc.org/article/AA-01554/0/BIND-9.12.0-Release-Notes.html, теперь это доступно.
"При работе в качестве рекурсивного преобразователя named теперь может продолжать возвращать ответы, срок жизни которых истек, когда авторитетный сервер находится под атакой и не может ответить. Это контролируется stale-answer-enable, stale-answer-ttl и max-stale -ttl options. [RT # 44790] "