[Pdns-users] negative query caching for a delegated sub domain

aldus jung aldusj99 at gmail.com
Tue Jun 29 23:25:46 UTC 2010

I am sort of answering my own question here.  I say 'sort of' since I don't
think I have
the complete answer.

It looks like the TTL of '10800' is actually the maximum value set by BIND,
and this is turning out to be more of a Bind implementation question, which
I should instead be asking in the Bind forums.

If the TTL on the SOA record on pdns[12].abc.com is lowered to '30' from
'86400', then
you see on the non-authorative BIND servers, the response changes from:

xyz.abc.com.     10800   IN      SOA     localhost. admin.abc.com. 1 60 3600
604800 3600


xyz.abc.com.     30   IN      SOA     localhost. admin.abc.com. 1 60 3600
604800 3600

The question is why is the TTL of the SOA record used for caching negative
answers, not
the SOA minimum field?

Reading http://www.dns.net/dnsrd/rfc/rfc2308.html, it says:

"Name servers authoritative for a zone MUST include the SOA record of the
zone in the
authority section of the response when reporting an NXDOMAIN or indicating
that no data
of the requested type exists. This is required so that the response may be
The TTL of this record is set from the minimum of the MINIMUM field of the
SOA record and the TTL of the SOA itself, and indicates how long a resolver
may cache the negative answer."

And that doesn't seem clear to me, as TTL of the negative response is cached
from BOTH the minimum field and the TTL of the SOA record? How is that
possible? A max or min of those two numbers is taken?

But in Bind, it seems like it's taking the TTL of the SOA.  If anyone has an
explanation to this, please chime in.  thanks.


On Mon, Jun 28, 2010 at 7:19 PM, aldus jung <aldusj99 at gmail.com> wrote:

> We are running BIND version 9.7.0 environment with a delegated subdomain
> that is powered by pdns authoritative servers, and we have been noticing
> negative caching behavior on the subdomain that's unexpected.  This may not
> be a bug, but rather my lack of understanding of pdns.. so I am hoping that
> someone on this forum could help in explaining this behavior.   (I've
> changed the actual domain names as they are only used in our internal
> network.)
> So we have abc.com that BIND 9.7.0 is authoritative for.  And in
> named.hosts of (host: bind1.abc.com), we have:
> xyz         30  IN   NS         pdns1.abc.com.
> xyz         30  IN   NS         pdns2.abc.com.
> On bind1.abc.com, if you query for a host that doesn't exist, this is
> dig's output:
> > dig nohost.xyz.abc.com @bind1.abc.com
> ; <<>> DiG 9.3.5-P1 <<>> nohost.xyz.abc.com @bind1.abc.com
> ;; global options:  printcmd
> ;; Got answer:
> ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 1298
> ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
> ;nohost.xyz.abc.com.                IN      A
> xyz.abc.com.     10800   IN      SOA     localhost. admin.abc.com. 1 60
> 3600 604800 3600
> My question is, where is the '10800' coming from?  The SOA record on
> pdns[12].abc.com has TTL of '86400'
> Also, when I check the cache on bind1.abc.com, by doing: rndc -c rndc.conf
> dumpdb -all, I see:
> nohost.xyz.abc.com. 10796 \-ANY  ;-$NXDOMAIN
> ; xyz.abc.com. SOA localhost. admin.abc.com. 1 60 3600 604800 3600
> ; authauthority
> Once we actually add 'nohost.xyz.abc.com' A record to the mysql database,
> it takes significantly longer than 3600 seconds for the A record to resolve
> on bind1.abc.com.
> We are running pdns-2.9.22 with mysql backend on Linux 2.6.18.
> In the 'records' table, the SOA looks like this:
> id, name, domain_id, type, content, ttl, prio, change_date,
> 1, xyz.abc.com, 1, SOA, localhost admin at abc.com 1, 86400, NULL, NULL
> In the 'domains' table:
> id, master, name, last_check, type, notified_serial, account
> 1, NULL, xyz.abc.com, NULL, NATIVE, NULL,
> ________________________________
> I've also set soa-refresh-default to '60' as it was the only place in the
> pdns.conf where I saw '10800'.  And as you can see from the SOA entry, it
> correctly shows 60 for the SOA refresh.
> If there are additional information that's needed to solve this puzzle,
> please let me know.  thanks for all your help.
> AJ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-users/attachments/20100629/6e27e59c/attachment-0001.html>

More information about the Pdns-users mailing list