NAMED(8)
โจ NAMED(8) โจ
okay bestie, buckle up โ this is named, the Internet domain name server, aka the whole reason your WiFi doesn't just vibe into the void ๐
๐ธ NAME ๐ธ
named โ Internet domain name server
๐ SYNOPSIS ๐
named [ [-4] | [-6] ] [-c config-file] [-C] [-d debug-level] [-D string]
[-E engine-name] [-f] [-g] [-L logfile] [-M option] [-m flag] [-n #cpus]
[-p port] [-s] [-t directory] [-u user] [-v] [-V] ]
๐ฆ DESCRIPTION ๐ฆ
So named is a Domain Name System (DNS) server โ it's literally part of the BIND 9 distribution from ISC. If you wanna know more about the DNS in general, go read RFC 1033 at https://datatracker.ietf.org/doc/html/rfc1033.html, RFC 1034 at https://datatracker.ietf.org/doc/html/rfc1034.html, and RFC 1035 at https://datatracker.ietf.org/doc/html/rfc1035.html. iykyk ๐
When you invoke it with no arguments at all, named reads the default configuration file /etc/bind/named.conf, reads any initial data, and then just... listens for queries. main character energy honestly ๐
๐ OPTIONS ๐
-4โ tellsnamedto use only IPv4, even if the host machine is perfectly capable of IPv6. and just so you know,-4and-6are mutually exclusive, so pick one, bestie ๐ซถ-6โ tellsnamedto use only IPv6, even if the host machine is perfectly capable of IPv4. same deal:-4and-6are mutually exclusive โจ-cconfig-file โ tellsnamedto use config-file as its configuration file instead of the default/etc/bind/named.conf. and listen: to make sure the config file can still be reloaded after the server has changed its working directory (which can happen because of a possible directory option in the config file), config-file should be an absolute pathname. absolute. not vibes-based. ๐ฏ-Cโ prints out the default built-in configuration and exits.
โ ๏ธ NOTE: this is for debugging purposes only and is not an accurate representation of the actual configuration used by named at runtime. don't be fooled, bestie ๐
-ddebug-level โ sets the daemon's debug level to debug-level. the more you crank the debug level, the more verbose the debugging traces fromnamedget. it's giving "the volume knob goes to 11" ๐-Dstring โ specifies a string that's used to identify an instance ofnamedin a process listing. and like... the contents of string are not examined. at all. it's just a name tag ๐ท๏ธ-Eengine-name โ when applicable, specifies the hardware to use for cryptographic operations, like a secure key store used for signing. when BIND 9 is built with OpenSSL, this needs to be set to the OpenSSL engine identifier that drives the cryptographic accelerator or hardware service module (usuallypkcs11). slay ๐-fโ runs the server in the foreground (i.e., do not daemonize). periodt.-Fโ turns on FIPS (US Federal Information Processing Standards) mode if the underlying cryptographic library supports running in FIPS mode.-gโ runs the server in the foreground and forces all logging to stderr. double duty ๐-Llogfile โ sets the log to the file logfile by default, instead of the system log.-Moption โ sets the default (comma-separated) memory context options. the possible flags are:fill: fill blocks of memory with tag values when they're allocated or freed, to assist debugging of memory problems; this is the implicit default ifnamedhas been compiled with--enable-developer.nofill: disable the behavior enabled byfill; this is the implicit default unlessnamedhas been compiled with--enable-developer.
-mflag โ turns on memory usage debugging flags. the possible flags areusage,traceandrecord. these correspond to theISC_MEM_DEBUGXXXXflags described in<isc/mem.h>. ๐ง-n#cpus โ creates #cpus worker threads to take advantage of multiple CPUs. if not specified,namedtries to determine the number of CPUs present and creates one thread per CPU. and if it can't figure out the number of CPUs? a single worker thread is created. it tried its best ๐ญ-pvalue โ specifies the port(s) on which the server will listen for queries. here's the breakdown, bestie:- if value is of the form
<portnum>ordns=<portnum>, the server listens for DNS queries on portnum; if not specified, the default is port53. - if value is of the form
tls=<portnum>, the server listens for TLS queries on portnum; the default is853. - if value is of the form
https=<portnum>, the server listens for HTTPS queries on portnum; the default is443. - if value is of the form
http=<portnum>, the server listens for HTTP queries on portnum; the default is80.
- if value is of the form
(yes the original says "if not not specified" and honestly? same, girl. anyway, you get it ๐)
-sโ writes memory usage statistics to stdout on exit.
๐ก Note: this option is mainly of interest to BIND 9 developers and may be removed or changed in a future release. so like... don't build your whole personality on it ๐ซ
-tdirectory โ tellsnamedtochrootto directory after processing the command-line arguments, but before reading the configuration file.
๐จ Warning: this option should be used in conjunction with the-uoption, because chrooting a process running as root doesn't enhance security on most systems โ the waychrootis defined allows a process with root privileges to escape a chroot jail. no cap, that's literally how it works ๐
-U#listeners โ this option has been removed. attempts to use it now result in a warning. it's gone, girl, let it go ๐-uuser โ sets the setuid to user after completing privileged operations, such as creating sockets that listen on privileged ports.
๐ก Note: on Linux,nameduses the kernel's capability mechanism to drop all root privileges except the ability to bind to a privileged port and set process resource limits. unfortunately, this means the-uoption only works whennamedis run on kernel2.2.18or later, or kernel2.3.99-pre3or later, since previous kernels did not allow privileges to be retained after setuid. ancient history fr fr ๐ฆ
-vโ reports the version number and exits.-Vโ reports the version number, build options, supported cryptographic algorithms, and exits. the full tea โ-Xlock-file โ this option has been removed and using it will cause a fatal error. not a warning. a fatal error. do not test her ๐
๐ SIGNALS ๐
okay so in routine operation, signals should not be used to control the nameserver โ use rndc instead. that's the vibe. ๐ฎ
SIGHUPโ forces a reload of the server.SIGINT,SIGTERMโ shut down the server.
and the result of sending any other signals to the server? undefined. literally undefined. don't do it ๐
๐ CONFIGURATION ๐
the named configuration file is too complex to describe in detail here (iconic, honestly โ it said "not in this essay"). a complete description is provided in the BIND 9 Administrator Reference Manual. go read it, bestie ๐
named inherits the umask (file creation mode mask) from the parent process. so if files created by named, such as journal files, need to have custom permissions, the umask should be set explicitly in the script used to start the named process. set it yourself, don't make her guess ๐
๐ง FILES ๐ง
/etc/bind/named.confโ the default configuration file./var/run/named.pidโ the default process-id file.
โญ SEE ALSO โญ
RFC 1033 at https://datatracker.ietf.org/doc/html/rfc1033.html, RFC 1034 at https://datatracker.ietf.org/doc/html/rfc1034.html, RFC 1035 at https://datatracker.ietf.org/doc/html/rfc1035.html, named-checkconf(8), named-checkzone(8), rndc(8), named.conf(5), BIND 9 Administrator Reference Manual. the whole friend group ๐ซถ
๐ Author ๐
Internet Systems Consortium
๐ Copyright ๐
2026, Internet Systems Consortium
and that's the whole page, bestie! this version is from BIND 9.20.30, dated 2026-10-12 โ go forth and resolve some names ๐โจ๐ธ
๐ฆ where this page comes from
- alpine 3.22: bind-doc 9.20.30-r0 ยท MPL-2.0
- alpine 3.23: bind-doc 9.20.30-r0 ยท MPL-2.0
- alpine 3.24: bind-doc 9.20.30-r0 ยท MPL-2.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms