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: ;; AUTHORITY SECTION: xyz.abc.com. 10800 IN SOA localhost. admin.abc.com. 1 60 3600 604800 3600 to: ;; AUTHORITY SECTION: 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 cached. 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. AJ On Mon, Jun 28, 2010 at 7:19 PM, aldus jung <[email protected]> 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 > > ;; QUESTION SECTION: > ;nohost.xyz.abc.com. IN A > > ;; AUTHORITY SECTION: > 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 [email protected] 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 > > > > >
_______________________________________________ Pdns-users mailing list [email protected] http://mailman.powerdns.com/mailman/listinfo/pdns-users
