nsdc [-c configfile] start | stop | reload | rebuild | restart | running | update | notify | patch
Nsdc is the shell script that used to control nsd(8) and zonec(8) from NSD distribution. Nsdc is also suitable to be linked into /etc/rc.d directory on BSD like systems for automatic startup of nsd(8) at boot time.
At every invokation, nsdc will try to read the nsd.conf(5) configuration file. An example of such configuration file is distributed with the NSD package as nsd.conf.sample. The config file is checked for errors before it is used, see nsd-checkconf(8).
Possible nsdc applications are:
- Start nsd(8).
- Shut down nsd(8) by sending SIGTERM to it.
- Initiate nsd(8) name space database reload by sending SIGHUP.
- Rebuild the nsd(8) database by invoking zonec(8) with appropriate arguments.
- Restart nsd(8). This equals to nsdc stop && nsdc start.
- Check whether nsd(8) is running. Returns error message and error code if it is not running, and no message and zero error code otherwise.
- Updates all the slave zones which have allow-notify: from localhost (127.0.0.1 or ::1) allowed. If a TSIG key is specified for the allow-notify statement in the config file, it will be used to secure the notify. Note that NSD keeps track of zone timeouts automatically, this is only needed if you want to manually force updates by sending notify messages to the localhost.
- Another method you can use is to stop nsd, delete the xfrd.state file and then start nsd again. It will try to update all zones. This method does not require allow-notify: statements.
- Sends notify messages to all the slaves for all the zones that have the notify: keyword in the nsd.conf file. If a TSIG key is specified for a notify statement, it will be used to secure the notification message to that slave server.
- Merge zone transfer changes back to zone files. It reads in the nsd database (nsd.db) and difffile (ixfr.db), and overwrites the zone text files if they have been updated. Running this regularly ensures that the difffile does not grow infinitely. If any zone text files have been changed (including those of the master zones), the nsd.db is rebuild and nsd is reloaded.
- -c configfile
- Specify configfile to use instead of the default /etc/nsd3/nsd.conf.
- Configuration file for nsd to change default pathnames and NSD flags. The zone names, pathnames to zone files and access control lists are also in nsd.conf(5).
- default NSD database
- Lockfile for the NSD database access by operator tools.
- Journal of zone transfers, the diff file containing the new zone contents transferred.
- State for the zone transfer process of NSD. Contains timeouts for the zones and whether zones are expired.
- the process id of the name server.
Nsdc will return zero return code if operation was successful and an error message to standard output plus a non-zero return code otherwise.
NSD was written by NLnet Labs and RIPE NCC joint team. Please see CREDITS file in the distribution for further details.
BUGSSyntax checking of the config file is rudimentary and error messages may be wrong. If you do a nsdc patch, whilst a (long) zone transfer is busy, the zone transfer contents will be partially lost. After a reload, this will be detected and the zone transfer should be restarted. The reload that happens at the end of nsdc patch also frees up memory churn in NSD caused by zone transfers.