NSD(8)

πŸ’– NSD(8) β€” the girlies' guide to Name Server Daemon πŸ’–

okay so bestie, you know how the internet needs someone to actually know the answers? like, who's the authority on what domain goes where? that's NSD, and she's literally iconic for it. this is version 4.15.4 of the Name Server Daemon, and I'm gonna walk you through the whole thing, no cap. it's giving "I read the manpage so you don't have to" energy, and honestly? I ate. πŸŽ€


✨ 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]

like, that's the whole vibe check right there. slay. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

NSD is a complete implementation of an authoritative DNS nameserver β€” which basically means she's the main character of DNS, holding all the receipts on who's who. On startup, NSD reads her config file, puts herself into the background (she's ✨busy✨), and starts answering queries on port 53 β€” or a different port if you hit her with the -p port option.

By default, NSD binds to all local interfaces available. But if you want her to be picky, use the -a ip-address[@port] option to lock her onto one specific interface address. And if you give that option more than once? She'll bind her UDP and TCP sockets to all the specified ip-addresses separately. obsessed. If IPv6 is enabled when NSD is compiled, you can specify an IPv6 address too. periodt. 🌈


πŸ’œ OPTIONS πŸ’œ

okay listen, all the options can be specified in the configfile (the -c argument) β€” except for -v and -h. and if you specify options on the commandline, those take precedence over whatever the configfile says. she's not confused, she's just discerning.

usually you should start NSD with the nsd-control(8) start command, invoked from a /etc/rc.d/nsd.sh script or something similar at operating system startup. iykyk.

  • -4 β€” Only listen to IPv4 connections. old school, but make it fashion. 🧚
  • -6 β€” Only listen to IPv6 connections. future is now bestie. ⭐
  • -a ip-address[@port] β€” 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. she's flexible like that. πŸ’–
  • -c configfile β€” Read the specified configfile instead of the default /etc/nsd/nsd.conf. for format description see nsd.conf(5). yes, read the other manual. she said what she said. 🫢
  • -d β€” Do not fork, stay in the foreground. like, she's not leaving the group chat. 🫢
  • -h β€” Print help information and exit. the classic "what's the tea" option. 🌸
  • -i identity β€” 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). so she knows her name. πŸ’…
  • -I nsid β€” 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. fancy. πŸŽ€
  • -l logfile β€” 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. she's organized. πŸ—‚οΈ
  • -N count β€” 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. like, don't overwork a single-core girlie. πŸ’€
  • -n number β€” The maximum number of concurrent TCP connections that can be handled by each server. the default is 100. she can hold a lot of conversations at once, ngl. πŸ”₯
  • -P pidfile β€” Use the specified pidfile instead of the platform specific default, which is mostly .. if a zonesdir: is specified in the config file, this path can be relative to that directory. cute. πŸŽ€
  • -p port β€” Answer the queries on the specified port. normally this is port 53. don't come for her unless she sends for you. ⭐
  • -s seconds β€” Produce statistics dump every seconds seconds. this is equal to sending SIGUSR1 to the daemon periodically. she's tracking her metrics, bestie. πŸ“Š
  • -t chroot β€” Specifies a directory to chroot to upon startup. this option requires you to ensure that appropriate syslogd(8) socket (e.g. chrootdir /dev/log) is available, otherwise NSD won't produce any log output. so like, don't forget the socket or she'll go silent. and that's not the vibe. 🚨
  • -u username β€” 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. she's secure and she knows it. πŸ”’
  • -V level β€” This value specifies the verbosity level for (non-debug) logging. default is 0. she can be chatty if you want. πŸ—£οΈ
  • -v β€” Print the version number of NSD to standard error and exit. a little "hey bestie, it's me" moment. πŸ’Œ

NSD also reacts to the following signals:

  • SIGTERM β€” Stop answering queries, shutdown, and exit normally. she's logging off. bye bestie. πŸ‘‹
  • SIGHUP β€” Reopen logfile (assists rotation) and optionally update TSIG keys and zones. she's refreshing her feed. πŸ”„
  • SIGUSR1 β€” Dump BIND8-style statistics into the log. Ignored otherwise. stats queen. πŸ“ˆ

πŸ“ FILES πŸ“

  • the process id of the name server. (like, she has a whole file for it. very organized.)
  • /etc/nsd/nsd.conf β€” default NSD configuration file. the OG. πŸ’–

🧚 DIAGNOSTICS 🧚

NSD will log all the problems via the standard syslog(8) daemon facility, unless the -d option is specified. so if something goes wrong, she's telling syslog, not you. unless you told her to stay in the foreground. then she's telling you directly. πŸ’…


🌈 SEE ALSO 🌈

nsd.conf(5), nsd-checkconf(8), nsd-control(8)

like, read them. they're part of the squad. 🫢


πŸ‘‘ AUTHORS πŸ‘‘

NSD was written by NLnet Labs and RIPE NCC joint team. please see the CREDITS file in the distribution for further details. iconic collaboration. πŸ’œ


and that's the whole thing! so like, to sum up: NSD 4.15.4 by NLnet Labs and RIPE NCC, dated okt 21, 2026. she's a whole authoritative DNS server and honestly? she ate and left no crumbs. now go forth and serve some names, bestie. you got this. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«ΆπŸ˜­πŸ”₯πŸ‘‘πŸŒˆβ­πŸ’€πŸ™ˆπŸ“πŸ§šπŸ’œ

πŸ“¦ where this page comes from