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

Можно ли настроить локальный кеш DNS для использования устаревших записей при сбое восходящего потока?

Я ищу проксирующий / кэширующий 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".