notify problems and issues on 8.2.4 (long)
Brad Knowles
brad.knowles at skynet.be
Wed Jun 27 05:50:36 UTC 2001
At 11:04 PM -0400 6/26/01, Mark Jeftovic wrote:
> Note that these came from the other two slaves, not the primary.
> Still though, the new address didn't kick in on this box. After
> waiting a few minutes and nothing happening, I manually reloaded
> the zone and the change kicked in right away (rather than waiting
> for the refresh to occur)
Note that the DNS primarily uses UDP, which is an unreliable
protocol -- sometimes, packets get dropped or munged, and if this
happens with all the retransmissions, the NOTIFY to a particular
machine may get lost.
The only purpose of NOTIFY is to give the secondaries a chance to
update more quickly, once the domain has changed, and therefore it
should not be a big deal if they get lost. If it is a big deal if
they get lost, you've got something wrong with your zone TTL
settings, and you need to adjust those.
Moreover, syslog also uses UDP, and I've seen as much as 75% of
all syslog data get lost and thrown away, on a busy network. To make
sure you're not losing log data, you should have BIND log directly to
a file and avoid syslog.
> 1) what factors govern the speed at which the notifies get sent, are
> there tunable parameters, are there any tips for optimizing servers for
> large numbers of zones so that notifies go out quickly?
I don't believe that there are any tunable parameters.
> 2) are the formats of the notify log entries documented anywhere?
Chapter 10, section 2 of third edition of _DNS & BIND_ (by Paul
Albitz and Cricket Liu, published by O'Reilly & Assoc.) is the only
indexed reference entry for NOTIFY. This information is expanded on
in Chapter 10 from fourth edition of _DNS & BIND_, but there doesn't
seem to be any particular indication in either edition regarding the
NOTIFY log format.
> 3) assuming the current number of named_xfers in progress < transfers_out
> on the primary and < transfers_in on the slave, why wouldn't a slave pick
> up an update after receiving a notify?
Dunno. It's hard to say. You might have the NOTIFY being sent
out by the master, but not received by the slave. However, if you've
got your "refresh" and "retry" intervals set properly, it should
still periodically check in on a sufficiently frequent basis and
validate that the SOA serial number hasn't changed, and if so update
its copy of the zone. If not, you need to modify these values in
your SOA records for your zone(s).
> 4) under what circumstances do the slaves also send notifies to the other
> slaves?
I'm not aware of any. Not unless you configured "also-notify
10.1.2.3" in the /etc/named.conf on the secondary in question.
> 5) why are notifies for a zone that hasn't been modified in months
> floating around?
Remember, UDP is trivially easy to forge, so it may be someone
trying to perform a DoS attack on your server. Since this
information cannot be trusted, all that happens is that a secondary
that receives a NOTIFY, is that it sends back a NOTIFY response to
the master named in the DNAME field of the SOA record, and then it
schedules an update (as if the "refresh" interval had expired) to
check to see if the SOA serial number has changed, and if so then it
will schedule a transfer of the zone. NOTIFY is purely advisory.
> Any pointers on some or all appreciated, thanks for reading this far.
If you're running into problems with too many copies of
named-xfer running, or where your nameservers are not answering
queries during the long start-up phase, you should upgrade to BIND 9.
It handles zone transfers internally, and since it's multi-threaded,
it will start answering queries immediately, while background threads
continue to load the zones.
--
Brad Knowles, <brad.knowles at skynet.be>
/* efdtt.c Author: Charles M. Hannum <root at ihack.net> */
/* Represented as 1045 digit prime number by Phil Carmody */
/* Prime as DNS cname chain by Roy Arends and Walter Belgers */
/* */
/* Usage is: cat title-key scrambled.vob | efdtt >clear.vob */
/* where title-key = "153 2 8 105 225" or other similar 5-byte key */
dig decss.friet.org|perl -ne'if(/^x/){s/[x.]//g;print pack(H124,$_)}'
More information about the bind-users
mailing list