NSD(8) NSD 4.15.2 NSD(8)

# [NAME](#NAME)

**nsd** - Name Server [Daemon (NSD)](/man/os/nsd/Daemon.NSD) version 4.15.2.

# [SYNOPSIS](#SYNOPSIS)

**nsd** \[**-4**] \[**-6**] \[**-a** *ip-address\[@port]*] \[**-c** *configfile*] \[**-d**] \[**-h**] \[**-i** *identity*] \[**-I** *nsid*] \[**-l** *logfile*] \[**-N** *server-count*] \[**-n** *noncurrent-tcp-count*] \[**-P** *pidfile*] \[**-p** *port*] \[**-s** *seconds*] \[**-t** *chrootdir*] \[**-u** *username*] \[**-V** *level*] \[**-v**]

# [DESCRIPTION](#DESCRIPTION)

**NSD** is a complete implementation of an authoritative DNS nameserver. Upon startup, **NSD** will read the configuration file and put itself into the background and answers queries on port 53 or a different port specified with **-p** *port* option. By default, **NSD** will bind to all local interfaces available. Use the **-a** *ip-address\[@port]* option to specify a single particular interface address to be bound. If this option is given more than once, **NSD** will bind its UDP and TCP sockets to all the specified ip-addresses separately. If IPv6 is enabled when **NSD** is compiled an IPv6 address can also be specified.

# [OPTIONS](#OPTIONS)

All the options can be specified in the configfile ( **-c** argument), except for the **-v** and **-h** options. If options are specified on the commandline, the options on the commandline take precedence over the options in the configfile.

Normally **NSD** should be started with the \`[nsd-control(8)](/man/os/nsd/nsd-control.8) start\` command invoked from a */etc/rc.d/nsd.sh* script or similar at the operating system startup.

**-4**

Only listen to IPv4 connections.

**-6**

Only listen to IPv6 connections.

[**-a *ip-address\[@port\]***](#a)

Listen to the specified *ip-address*. The *ip-address* must be specified in numeric format (using the standard IPv4 or IPv6 notation). Optionally, a port number can be given. This flag can be specified multiple times to listen to multiple IP addresses. If this flag is not specified, **NSD** listens to the wildcard interface.

[**-c *configfile***](#c)

Read specified *configfile* instead of the default */etc/nsd/nsd.conf*. For format description see [nsd.conf(5)](/man/os/nsd/nsd.conf.5).

[**-d**](#d)

Do not fork, stay in the foreground.

[**-h**](#h)

Print help information and exit.

[**-i *identity***](#i)

Return the specified *identity* when asked for *CH TXT ID.SERVER* (This option is used to determine which server is answering the queries when they are anycast). The default is the name returned by [gethostname(3)](/man/os/nsd/gethostname.3).

[**-I *nsid***](#I)

Add the specified *nsid* to the EDNS section of the answer when queried with an NSID EDNS enabled packet. As a sequence of hex characters or with ascii_ prefix and then an ascii string.

[**-l *logfile***](#l)

Log messages to the specified *logfile*. The default is to log to stderr and syslog. If a **zonesdir:** is specified in the config file this path can be relative to that directory.

[**-N *count***](#N)

Start *count* **NSD** servers. The default is 1. Starting more than a single server is only useful on machines with multiple CPUs and/or network adapters.

[**-n *number***](#n)

The maximum *number* of concurrent TCP connection that can be handled by each server. The default is 100.

[**-P *pidfile***](#P)

Use the specified *pidfile* instead of the platform specific default, which is mostly */var/run/nsd.pid*. If a **zonesdir:** is specified in the config file, this path can be relative to that directory.

[**-p *port***](#p)

Answer the queries on the specified *port*. Normally this is port 53.

[**-s *seconds***](#s)

Produce statistics dump every *seconds* seconds. This is equal to sending *SIGUSR1* to the daemon periodically.

[**-t *chroot***](#t)

Specifies a directory to *chroot* to upon startup. This option requires you to ensure that appropriate [syslogd(8)](/man/os/nsd/syslogd.8) socket (e.g. *chrootdir* /dev/log) is available, otherwise **NSD** won't produce any log output.

[**-u *username***](#u)

Drop user and group privileges to those of *username* after binding the socket. The *username* must be one of: username, id, or id.gid. For example: nsd, 80, or 80.80.

[**-V *level***](#V)

This value specifies the verbosity level for (non-debug) logging. Default is 0.

[**-v**](#v)

Print the version number of **NSD** to standard error and exit.

**NSD** reacts to the following signals:

[SIGTERM](#SIGTERM)

Stop answering queries, shutdown, and exit normally.

[SIGHUP](#SIGHUP)

Reopen logfile (assists rotation) and optionally update TSIG keys and zones.

[SIGUSR1](#SIGUSR1)

Dump BIND8-style statistics into the log. Ignored otherwise.

# [FILES](#FILES)

/var/run/nsd.pid

the process id of the name server.

/etc/nsd/nsd.conf

default **NSD** configuration file

# [DIAGNOSTICS](#DIAGNOSTICS)

**NSD** will log all the problems via the standard [syslog(8)](/man/os/nsd/syslog.8) *daemon* facility, unless the **-d** option is specified.

# [SEE ALSO](#SEE_ALSO)

[*nsd.conf*(5)](/man/os/nsd/nsd.conf.5), [*nsd-checkconf*(8)](/man/os/nsd/nsd-checkconf.8), [*nsd-control*(8)](/man/os/nsd/nsd-control.8)

# [AUTHORS](#AUTHORS)

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

October 1, 26 NLnet Labs

---

Document: nsd(8) from nsd 4.15.2-r2 (Chainguard OS)
Source: https://github.com/NLnetLabs/nsd
