UNBOUND(8)

โœจ NAME โœจ

unbound โ€” it's the Unbound DNS validating resolver, bestie, version 1.26.2 ๐Ÿ’…


๐ŸŒธ SYNOPSIS ๐ŸŒธ

unbound [-hdpVv] [-c <cfgfile>]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

okay so unbound is a caching DNS resolver. that's the whole vibe. ๐ŸŽ€

It comes with a built in list of authoritative nameservers for the root zone (.), and those are the so called root hints. When a DNS query shows up, it's gonna go ask the root nameservers for an answer, and in almost all cases what it gets back is a delegation to a top level domain (TLD) authoritative nameserver. then it goes and asks that nameserver for the answer. and it just keeps recursively continuing like that until an answer is found, or until there's no answer available (NXDOMAIN, the saddest outcome ๐Ÿ˜ญ).

For performance and efficiency reasons โ€” and honestly, iconic behaviour โ€” that answer gets cached for a certain time (the answer's time-to-live, aka the TTL). so a second query for the same name gets answered straight from the cache. no cap. โœจ Unbound can also do DNSSEC validation, which is the main character energy of DNS security.

If you wanna use a locally running Unbound for resolving, put:

nameserver 127.0.0.1

into resolv.conf(5). periodt. ๐Ÿ’–

โš ๏ธ If authoritative DNS is needed as well, using nsd(8), careful setup is required, because authoritative nameservers and resolvers are using the same port number (53). they are literally sharing a port, so be careful, bestie ๐Ÿซถ

The available options are:

  • -h โ€” shows the version number and commandline option help, then exits. a little hello-and-bye. ๐Ÿ‘‹
  • -c <cfgfile> โ€” sets the config file with settings for unbound to read, instead of reading the file at the default location, /etc/unbound/unbound.conf. the syntax is described in unbound.conf(5). ๐Ÿ“„
  • -d โ€” debug flag! it means do not fork into the background, but stay attached to the console. this flag will also delay writing to the log file until the thread-spawn time, so that most config and setup errors appear on stderr. and if you give it twice or more, logging does not switch to the log file or to syslog at all โ€” the log messages just get printed to stderr all the time. ๐Ÿ’€
  • -p โ€” don't use a pidfile. this argument should only be used by supervision systems which can ensure that only one instance of Unbound will run concurrently. seriously, only those. ๐Ÿ™ˆ
  • -v โ€” increase verbosity. given multiple times, more information is logged. this is in addition to the verbosity (if any) from the config file. ๐Ÿ“ข
  • -V โ€” show the version number and build options, and exit. receipts, basically. ๐Ÿงพ

๐ŸŒˆ SEE ALSO ๐ŸŒˆ

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


๐Ÿ‘‘ AUTHOR ๐Ÿ‘‘

Unbound developers are mentioned in the CREDITS file in the distribution. go read it, they ate. ๐Ÿ”ฅ


1999-2026, NLnet Labs


mwah ๐Ÿ’‹ that's the whole page, bestie. this was unbound, version 1.26.2, dated Oct 21, 2026 โ€” go resolve some names, you've got this ๐ŸŽ€โœจ๐ŸŒธ

๐Ÿ“ฆ where this page comes from