Есть ли способ, позволяющий возвращать устаревшие результаты DNS? Под устаревшим я подразумеваю, что срок жизни истек, но новая запись не может быть получена, вероятно, из-за недоступности сервера имен.
Насколько мне известно, по крайней мере, в bind 9 нет для этого механизма. Я также не смог найти ссылку на это в привязке 10. Да хоть убей, я не могу понять почему. Нет причин, по которым DNS не может использовать те же правила и методологию кеширования, что и HTTP. Сайты могут отключить или настроить свои параметры кеширования.
Мне это кажется настолько простым, что я надеюсь, что пропустил какую-то новую разработку, которой кто-нибудь может поделиться со мной :)
PS Я знаю, что есть некоторые инструменты для конечных пользователей, которые это делают (opendns, dnsmasq и т. д.), но это лишает владельца домена полного контроля и заставляет конечного пользователя часто делать неверные предположения о том, как файлы зоны должны быть кэшированы сверх их TTL.
Из BIND 9.12 Releaste Notes на 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. [RT # 44790] "