TTL question

Sasso, John IT JSasso at
Mon Oct 8 15:17:51 UTC 2001

Since upgrading to BIND 9.1.3 from 8.1.2, we noticed that named failed to
load the db.* zone files because neither an explicit $TTL was defined in
them nor was a TTL defined for the host records.  Thus, the nameserver could
not resolve queries.  Once we put a $TTL statement at the top of each db.*
file and did a reload, the nameserver started to response OK.

I take it that a TTL now must be explicitly defined?  I heard within this
list that (in an RFC????) the meaning between the TTL in the SOA record and
the TTL explicitly defined (a la $TTL) changed in BIND 9.x.  Correct me if
I'm wrong, but the TTL in the SOA record refers to the negative caching of
records, whereas the $TTL refers to the "regular" caching of names (i.e.
non-negative cache).

Any clarification on these matters, incl. changes in RFCs w.r.t. TTL, would
be greatly appreciated!  Thanks.


| -----Original Message-----
| From: Barry Margolin [mailto:barmar at]
| Sent: Monday, October 08, 2001 11:07 AM
| To: comp-protocols-dns-bind at
| Subject: Re: TTL question
| In article <9pses5$lnv at>, phroGg ^''^ 
| <fake at> wrote:
| >Hello,
| >
| >I've a quick question about TTL (using Bind8.2.5 under 
| Win2K).  In the zone
| >file, there are two TTL values I question: The "$TTL" one at 
| the top, and
| >the one within the SOA parantheses.  What do they do differently?  I
| >understand the concept of TTL as a generality.  I know that one is a
| >"default", for records that don't have a TTL explicitly 
| defined, but I'm not
| >sure which one is this "default", and I'm not sure what the 
| other one is for
| >(whichever one is the "other one").  So, if anyone can help 
| with this,
| >that'd be great.
| $TTL specifies the default TTL for records that don't have an 
| explicit TTL.
| The MinTTL field in the SOA record is used as the TTL of "negative"
| entries, i.e. it specifies how long a caching server should 
| remember that a
| name in that domain doesn't exist.
| Before the $TTL directive was introduced in BIND 8.2, the 
| MinTTL field was
| used as the default TTL.
| -- 
| Barry Margolin, barmar at
| Genuity, Woburn, MA
| to newsgroups.
| Please DON'T copy followups to me -- I'll assume it wasn't 
| posted to the group.

More information about the bind-users mailing list