xref: /netbsd-src/external/bsd/nsd/dist/doc/UPGRADING (revision d83a80ee7fb31190352cf1f781441e06ca6a86db)
1*d83a80eeSchristosUpgrading from NSD 3.x to NSD 4
2*d83a80eeSchristos
3*d83a80eeSchristosby Wouter C.A. Wijngaards, NLnetLabs, Jul 2012
4*d83a80eeSchristos
5*d83a80eeSchristosThis document lists the changes in the upgrade from NSD 3 to NSD 4 systems.
6*d83a80eeSchristos(scroll down for the NSD 2.x to NSD 3 upgrade manual).
7*d83a80eeSchristos
8*d83a80eeSchristos* nsdc is gone.  You can control the daemon via kill -HUP and kill -TERM,
9*d83a80eeSchristosor you can use nsd-control.
10*d83a80eeSchristos
11*d83a80eeSchristos* to setup nsd-control you have to run nsd-control-setup (as root) and enable
12*d83a80eeSchristosremote-control in the nsd.conf file.  It uses SSL to contact the daemon.
13*d83a80eeSchristos
14*d83a80eeSchristos* the nsd.conf file from NSD3 can be used for NSD4 (defaults for new stuff).
15*d83a80eeSchristos	* the difffile: setting is no longer used but ignored for
16*d83a80eeSchristos	  backwards compatibility.
17*d83a80eeSchristos	* zones listed in nsd.conf are served.
18*d83a80eeSchristos	* the zonelistfile: setting sets the file where zones that are
19*d83a80eeSchristos	  added dynamically (and can be removed dynamically) are stored.
20*d83a80eeSchristos	* the xfrdir: is used to store temporary zone transfer files.
21*d83a80eeSchristos	* it is possible to define patterns in the nsd.conf file and
22*d83a80eeSchristos	  use the patterns to give config settings for the zones.
23*d83a80eeSchristos	  * patterns accept the same sort of settings which NSD3-zones did.
24*d83a80eeSchristos	  * you can make super-patterns with the include-pattern: setting
25*d83a80eeSchristos	  * the zonefile: statement creates directories when needed, if they
26*d83a80eeSchristos	    do not exist.  In the zonefile: statement you can use %s (and
27*d83a80eeSchristos	    other codes) to use (part of) the name of the zone to generate
28*d83a80eeSchristos	    the pathname of the zonefile.
29*d83a80eeSchristos	  * if there is no zonefile (for slave zones) it is not used.
30*d83a80eeSchristos
31*d83a80eeSchristos* nsdc rebuild and so on is gone, use nsd-control reload or kill -HUP.
32*d83a80eeSchristos	* it scans if zonefiles are modified and reads those.
33*d83a80eeSchristos	* you can also specify a zone by name and have nsd read that file.
34*d83a80eeSchristos    * if you nsd-control reconfig it rereads the config file for zones.
35*d83a80eeSchristos* nsdc patch is not necessary
36*d83a80eeSchristos	* the database is edited at runtime.
37*d83a80eeSchristos		* it mmap's the nsd.db file for file I/O, this increases
38*d83a80eeSchristos		  virtual memory usage of NSD with the size of the file.
39*d83a80eeSchristos	* if you like cronjobs, you could have one to nsd-control write
40*d83a80eeSchristos	  and write slave zones that have changed to their zonefile.
41*d83a80eeSchristos* other nsdc commands, reconfig (reread patterns, zones, keys),
42*d83a80eeSchristos  add a zone, delete a zone, and zone transfer control, statistics.
43*d83a80eeSchristos
44*d83a80eeSchristos
45*d83a80eeSchristos
46*d83a80eeSchristosUpgrading from NSD 2.x to NSD 3
47*d83a80eeSchristos
48*d83a80eeSchristosby Wouter C.A. Wijngaards, NLnetLabs, Aug 2006
49*d83a80eeSchristos
50*d83a80eeSchristosThis document lists the changes in the upgrade from NSD 2 to NSD 3 systems.
51*d83a80eeSchristos
52*d83a80eeSchristos* The nsdc.conf file is gone.
53*d83a80eeSchristos	* specify the config file to nsdc by using the -c <file> option.
54*d83a80eeSchristos	* binaries are searched for in the installation bin directory,
55*d83a80eeSchristos	  in the PATH and in the directory of nsdc.sh itself.
56*d83a80eeSchristos	* other options go into the new nsd.conf file.
57*d83a80eeSchristos
58*d83a80eeSchristos* The nsd.masters file is gone, replaced by nsd.conf.
59*d83a80eeSchristos	* Look at nsd.conf.5 manual page to see format.
60*d83a80eeSchristos	* you can list nsd-commandline-options, zones, masters, slaves, keys.
61*d83a80eeSchristos	* TSIG support: please list the TSIG keys in nsd.conf, or do this with
62*d83a80eeSchristos	  include: "keys.conf" and provide additional security for that file.
63*d83a80eeSchristos	* For every zone include lines:
64*d83a80eeSchristos		zone:
65*d83a80eeSchristos			name: "example.com"
66*d83a80eeSchristos			zonefile: "example.com.txt"
67*d83a80eeSchristos	* For secondary zones include in the zone entry:
68*d83a80eeSchristos			request-xfr: <ip of master> <tsig keyname or NOKEY>
69*d83a80eeSchristos			allow-notify: <same as above>
70*d83a80eeSchristos	* For master zones include in the zone entry:
71*d83a80eeSchristos			provide-xfr: <ip of slave> <tsig keyname or NOKEY>
72*d83a80eeSchristos			notify: <same as above>
73*d83a80eeSchristos	* NSD does not provide IXFR, so for secondaries that connect to NSD use
74*d83a80eeSchristos	  request-xfr: AXFR <ip> <key>   that will only use AXFR, not IXFR to
75*d83a80eeSchristos	  request zone transfers.
76*d83a80eeSchristos
77*d83a80eeSchristos* No more need for a cron job to do a nsdc update.
78*d83a80eeSchristos	* nsd will update automatically all secondary zones from master.
79*d83a80eeSchristos	* You should never need to do nsdc update or nsdc notify by hand.
80*d83a80eeSchristos	* You can still use a cronjob to do nsdc patch.
81*d83a80eeSchristos	  nsdc patch moves the zone transfer content from temporary storage
82*d83a80eeSchristos	  to the zone files, recompiles the database and reloads nsd.
83*d83a80eeSchristos
84