Я ищу проксирующий / кэширующий DNS-сервер Linux, который может обслуживать устаревшие (просроченные) записи, если он не может получать обновления из восходящего потока.
Бонусные баллы, если его можно настроить на использование устаревшей записи, когда восходящий поток занимает слишком много времени, а затем асинхронно обновлять кеш, когда / если приходит ответ.
Требуемое поведение очень похоже на proxy_cache_use_stale
Директива nginx - обслуживайте свежий восходящий поток, когда это возможно, обслуживайте все, что у вас есть, когда восходящий поток не работает.
dnsmasq может принудительно продлить TTL кэшированных записей, но это не сработает в обоих случаях - клиенты получают устаревшие записи с живым восходящим потоком, и после того, как расширенный TTL окончательно истекает, а восходящий поток отключается - клиенты ничего не получают.
Я знаю похожую функцию в unbound
DNS.
serve-expired: <yes or no>
If enabled, unbound attempts to serve old responses from cache
with a TTL of 0 in the response without waiting for the actual
resolution to finish. The actual resolution answer ends up in
the cache later on. Default is "no".