Can any caching DNS servers refresh their cache asynchronously?
Asked Answered
D

2

6

We run a latency-sensitive system. We found one significant cause of latency: some processes were making blocking DNS lookups to remote nameservers. To mitigate this, we have installed a local caching DNS resolver, specially dnsmasq.

But we still see occasional significant pauses where queries to the local DNS cache (dnsmasq) can take a long time. These are caused by TTL expiry; in these cases dnsmasq queries its upstream server before responding to the local process.

We would like to eliminate these pauses, too. I would like our local DNS cache to always respond immediately, even if the response is stale. The cache should query its upstream server asynchronously. For example, if the cache serves a stale response, it could refresh this asynchronously. Or a more sophisticated policy would be to refresh the cache asynchronously shortly before the TTL expires.

But I can't find any such setting for dnsmasq, or for any other caching DNS servers I've looked at. Are any DNS servers designed to run in this configuration?

Denishadenison answered 14/2, 2018 at 12:58 Comment(0)
F
2

Knot resolver with configuration modules = { 'predict' } will start asynchronous refresh of records that are put into answer at a moment when their TTL is close to expiration.

Note that version 2.0.0 has a bug that defeats this refresh for records without DNSSEC signatures (will be fixed in the next release).

Facsimile answered 14/2, 2018 at 15:4 Comment(2)
Thanks! I haven't heard of Knot before. I'll have to check it out.Denishadenison
unbound has also a prefetch option to do that.Biopsy
S
0

Unbound DNS Server also does this with a prefetch option - yes/no.

Smaragd answered 24/2, 2018 at 23:50 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.