Assume the changed serial number was set to 2003022900, which as we all know does not exist, 2003 not being a leap year; however, BIND does not know that and a zone transfer will have taken place, 29 being greater than 28.
Something is always changing on your network -- new workstations arrive, you finally retire or sell the relic, or you move a host to a different network. First we'll discuss how to make the changes manually. Actually, we recommend that you use a tool to create the zone data files -- we were kidding about that wimp stuff, okay?
Each change means that zone data files must be modified. Or at least use a tool to increment the serial number for you.
The command zsu /etc/db.local 0.0.127./var/named/db.will update the serial numbers in each of the three zone files listed.
zsu is most commonly used as part of a revision control system for zone files, just before changes are committed to a repository. The script expects a single zonefile name as an argument, and relies on ci/co/rcsdiff (all parts of RCS, from serial number format, which is derived from the current date and a counter to distinguish multiple changes made the same day.
) If you make changes to your zone file Emacs will automatically update the serial number for you, in the canonical format of ;; -*- zone -*- ;; ;; Zone file for ;; 86400 IN SOA ( 2006033100 ; Serial YYYYMMDDXX 10800 ; Refresh 3600 ; Retry 3600000 ; Expire 86400 ) ; minimum IN NS ns1. Obviously this won't help you if you use another editor, or another nameserver, but it was a neat trick that I thought was worth sharing. again and again, but this time it is a pure hazard!!