TTL Question

Mathias Körber mathias at koerber.org
Thu Jan 4 16:44:55 UTC 2001


> Hmmmm, I look at the docs, and I understand what I'm being told to do, =
but
> I don't understand why.  I thought all the records got their ttl from =
the
> SOA?=20

The minimum field in the SOA record used to be used for the default TTL, =
but
has been redefined to hold the negative caching TTL (as this has to
be transported somehow to remote caching nameservers, but the default
TTL only had real meaning on the primary). See RFC2308
ftp://ftp.isi.edu/in-notes/rfc2308.txt

In its stead a $TTL directive has been put in place.
Bind-8 still uses the minimum field if the $TTL is not present,
but warns you.
Bind-9 will not use the minimum field. It will use the TTL of the
first RR in the zonefile, which should be the SOA record itself
if such a TTL is present. If the first RR has no explicit TTL,=20
and $TTL mis missing, BIND-9 it will refuse to load the zone
and log the error "No TTL specified".

Recommendation is to add $TTL as the first line to every zonefile.


>=20
> For instance, my SOA of:
>=20
> @        IN     SOA     ns1.canbox.com.         postmaster.canbox.com. =
(
>                                 2001010201      ;serial
>                                 10800   ; refresh after 3 hours
>                                 3600    ; retry after 1 hour
>                                 604800  ; expire after 1 weeks
>                                 86400)  ; min ttl of 1 day
>=20
> Also gives this error, but it looks just like it does in the DNS and =
BIND
> book.

Yes, that SOA record does not have a TTL itself, and there is no $TTL =
directive.

The book is slightly outdated.

>=20
> Can I buy a clue? : )
Sure,that will be $2.50 payable to your fav. charity...

HTH HAHNY

Mathias

> -Jeff




More information about the bind-users mailing list