NSDC(8)

NAME

nsdc - Name Server Daemon (NSD) control script.

SYNOPSIS

nsdc [-c configfile] start | stop | reload | rebuild | restart | running | update | notify | patch

DESCRIPTION

Nsdc is the shell script that used to control nsd(8) and nsd-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
    Start nsd(8).

stop
    Shut down nsd(8) by sending SIGTERM to it.

reload
    Initiate nsd(8) name space database reload by sending SIGHUP.

rebuild
    Rebuild the nsd(8) database by invoking nsd-zonec(8) with appropriate arguments.

restart
    Restart nsd(8). This equals to nsdc stop && nsdc start.

running
    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.

update
    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.

notify
    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.

patch
    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.

OPTIONS

-c configfile
    Specify configfile to use instead of the default /etc/nsd.conf.

FILES

/etc/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).

/var/nsd/db/nsd.db
    default NSD database

/var/nsd/db/nsd.db.lock
    Lockfile for the NSD database access by operator tools.

/var/nsd/run/ixfr.db
    Journal of zone transfers, the diff file containing the new zone contents transferred.

/var/nsd/run/xfrd.state
    State for the zone transfer process of NSD. Contains timeouts for the zones and whether zones are expired.

/var/nsd/run/nsd.pid
    the process id of the name server.

DIAGNOSTICS

Nsdc will return zero return code if operation was successful and an error message to standard output plus a non-zero return code otherwise.

SEE ALSO

nsd(8), nsd.conf(5), nsd-checkconf(8), nsd-notify(8), nsd-patch(8), nsd-xfer(8), nsd-zonec(8)

AUTHORS

NSD was written by NLnet Labs and RIPE NCC joint team. Please see CREDITS file in the distribution for further details.

BUGS
Syntax 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.