Notifying a caching only Server

Stefan Schmidt zaphodb at mandelbrot.zaphods.net
Wed Aug 17 18:41:29 UTC 2005


On 2005-08-17, Frank Agerholm <frank-NOSPAM at balumir.de> wrote:
> Hello,

Hi,

> I have configured the Master to notify the caching-only Server about
> Zone-Changings (with also-notify) and the caching Server to allow these
> notifys (with allow-notify).
>
> The caching-Server received the notify, but DNS-Querys to to the caching
> Server returns old zone-Data.

It doesn't work this way. If you have configured the caching Server via
the zone statement then it is no longer a caching server for this Zone.
If you didn't the data will be updated when the TTL for the rrset times
out.
If the zone on you authorative Servers says
www 300 IN A 1.2.3.4
and your caching-only Server resolves this entry from it, it will start
counting from 300 to zero and then expire the data and start over again
fresh. This behaviour is the same for all kinds of record types, such as
SOA, A, PTR, CNAME and so on.

> Is there any way to flush the DNS-Cache on a caching-only-Server this way?

There is no way to flush the data of a single zone or regexp.
You can flush the whole DNS-Cache with 'rndc flush' (if its Bind9)
or by restarting the process.

BIND makes use of negative caching to, meaning it caches the fact that
it received an authorative answer that the record does not exist. (Yet)
This entry has a TTL as well. It is tuneable via:
options {
	max-ncache-ttl <seconds>;
}
Setting this to say 300 does wonders if your collegues are setting up a
new machine and wondering whether its IP is not yet in the DNS because
they just queries for it right before they made the actual entry and
triggered a negative caching record to be created. ;)

You can configure your caching servers to 'forward only;' for a
zone {} pointing it to the authorative servers via the forwarders {}
statement meaning that each and any query for this zone will be gathered
from the authorative servers circumventing the cache.

Or you can set a lower default TTL for your zone using the $TTL
statement right on top of your zonefile at the authorative servers.

> goal of this configuration is a faster Zone-Refresh for our own zones on
> our own caching-server then with the normal TTL-Configs.

What you want is to get a faster per-record-refresh actually.

	Stefan



More information about the bind-users mailing list