1

I have a small server (Ubuntu 12.10 x64) at home that acts also as a DNS cache for my LAN (using BIND9). I tried to have a look at the documentation and it appears there is no way to configure it so that, upon entry expiration, the entry is refreshed instead of dropped. The goal is to keep the cache warm even in periods when there are no requests.

Is this possible? If so, how?

0

2 Answers 2

2

BIND doesn't have the feature you're looking for but Unbound does. Search for "prefetch" in the documentation:

 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.
1

Originally this response read:

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.

I am still skeptical concerning whether it is necessary in the general case, but there has been demand for this feature and as of BIND 9.10, ISC is introducing a new prefetch option -- below is the release note entry for this feature from the current 9.10 development release (presently 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] 

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .