1

У меня дома есть небольшой сервер (Ubuntu 12.10 x64), который также выступает в качестве кеша DNS для моей локальной сети (используя BIND9). Я попытался взглянуть на документацию, и оказалось, что нет способа настроить ее так, чтобы по истечении срока действия вход обновлялся, а не удалялся. Цель состоит в том, чтобы поддерживать кэш в тепле даже в периоды, когда нет запросов.

Это возможно? Если так, то как?

2 ответа2

1

Первоначально этот ответ гласил:

No, it's not possible with BIND.

In most cases I wouldn't think it would be particularly
useful, either, but that's up to  you (and perhaps you
regularly deal with some domain that has very poorly set
TTLs.  If you absolutely must, there is an option in BIND
that will allow you to set a minimum floor for TTLs.

Я по-прежнему скептически отношусь к тому, нужна ли она в общем случае, но на эту функцию есть спрос, и с BIND 9.10 ISC вводит новую опцию предварительной выборки - ниже приведена запись примечания к выпуску для этой функции с текущей версии 9.10. разрабатываемый выпуск (в настоящее время 9.10.0b1):

The new "prefetch" option can improve recursive resolver
performance: when it is in use, cache records that are still
being requested by clients will automatically be refreshed
from the authoritative server before they expire, reducing or
eliminating the time window in which no answer is available
in the cache. [RT #35041] 
1

BIND не имеет функции, которую вы ищете, но Unbound имеет. Искать "prefetch" в документации:

 prefetch: <yes or no>
       If yes, message cache elements are prefetched before they expire
       to  keep  the  cache  up to date.  Default is no.  Turning it on
       gives about 10 percent more traffic and load on the machine, but
       popular items do not expire from the cache.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .