dnsconfd(8)
β¨ dnsconfd β the manual page, but make it cute β¨
okay bestie, welcome to dnsconfd(8) π this is the section 8 manual page for Dnsconfd, and we're gonna get you fully caught up, no cap.
πΈ NAME πΈ
Dnsconfd β the local DNS cache configuration daemon. she configures, she caches, she serves. π
π SYNOPSIS π
dnsconfd [options]
that's it. that's the whole vibe. β¨
π DESCRIPTION π
okay so Dnsconfd is a local cache configuration daemon. what she does is implement the DBus interface of systemd-resolved, and then translate all of that usage into the configuration of the dns service. literally a translator but for daemons π«Ά
π OPTIONS π
-h,--helpβ shows you the help message and then dips. exit, stage left. π--dbus-name DBUS_NAMEβ the DBUS name that dnsconfd should use. default iscom.redhat.dnsconfd--log-level {DEBUG,INFO,WARN}β the log level of dnsconfd. default isINFO--resolv-conf-path RESOLV_CONF_PATHβ path to theresolv.confthat dnsconfd should manage. default is/etc/resolv.conf--prioritize-wire,--no-prioritize-wireβ if you set this to yes, then wireless interfaces get lower priority. default isyes--listen-address ADDRESSβ the address on which the local resolver listens. default is127.0.0.1--config-file PATHβ the path where the config file lives. default is/etc/dnsconfd.conf--resolver-options optionsβ options to be used inresolv.conffor alteration of the resolver. default is"edns0 trust-ad"--dnssec-enabled,--no-dnssec-enabledβ enable dnssec record validation. default isno--handle-routing,--no-handle-routingβ dnsconfd will submit the necessary routes to the routing manager. default isyes--stderr-log,--no-stderr-logβ dnsconfd will write logs into stderr. default isyes--journal-log,--no-journal-logβ dnsconfd will send logs into the journal. default isno--syslog-logβ dnsconfd will send logs into the syslog destination specified by this option. by default it's disabled. you can specify either a linux domain socket with'unix:<path>', where path will usually be/dev/logon your system, or you can use tcp or udp protocols like'<transport_protocol>:<host>:<port>', where'transport_protocol'is eithertcporudp, host can be an ipv4 address, an ipv6 address in square brackets, or a hostname, and the port is where the syslog daemon is listening. examples, bestie:udp:localhost:514,udp:[::1]:514,tcp:127.0.0.1:514,tcp:myhost.example.com:514β¨--file-logβ dnsconfd will write logs into the specified file. not used by default.--api-choiceβ dnsconfd will switch between APIs. the allowed options areresolve1anddnsconfd. default isdnsconfd--certification-authorityβ a space separated list of CA bundles used for encrypted protocols as the default when no custom CA was specified. the first one that can be accessed will be used. default is/etc/pki/dns/extracted/pem/tls-ca-bundle.pem /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
π EXIT STATUS π
she tells you exactly how it went, fr fr:
0β graceful stop. π«Ά8β DNS caching service failure. the service crashed, for example.9β failed communication through DBUS. π10β failed interaction withresolv.conf.11β failed to configure the dns cache service.12β failed to set up the necessary routes.13β bad arguments. π
π¦ ENVIRONMENT π¦
okay so the tea here is: environment variables have lower priority than command line options, but higher priority than the configuration file. and the boolean options recognize 'yes' or '1' as True, while all other values are considered as False. periodt.
DBUS_NAMEβ DBUS name that dnsconfd should use. default isorg.freedesktop.resolve1LOG_LEVELβ log level of dnsconfd. default isINFORESOLV_CONF_PATHβ path to theresolv.confthat dnsconfd should manage. default is/etc/resolv.confPRIORITIZE_WIREβ if set to yes, then wireless interfaces will have lower priority. default isyesLISTEN_ADDRESSβ address on which the local resolver listens. default is127.0.0.1CONFIG_FILEβ path where the config file is located. default is/etc/dnsconfd.confRESOLVER_OPTIONSβ options to be used inresolv.conffor alteration of the resolver. default is"edns0 trust-ad"DNSSEC_ENABLEDβ enable dnssec record validation. default isnoHANDLE_ROUTINGβ dnsconfd will submit the necessary routes to the routing manager. default isyesSTDERR_LOGβ dnsconfd will write logs into stderr. default isyesJOURNAL_LOGβ dnsconfd will send logs into the journal. default isnoSYSLOG_LOGβ dnsconfd will send logs into the syslog destination specified by this option. by default it's disabled. for the destination specification syntax, go peek at the command line option. πFILE_LOGβ dnsconfd will write logs into the specified file. not used by default.API_CHOICEβ dnsconfd will switch between APIs. the allowed options areresolve1anddnsconfd. default isresolve1
π FILES π
Dnsconfd manages resolv.conf to route domain name resolution to the local cache service. the default location of the configuration file is /etc/dnsconfd.conf. π
π§ ROUTING π§
by default, Dnsconfd submits routes through NetworkManager, so the system contacts DNS servers through the right interfaces. this behaviour can be turned off by setting the handle_routing option to 'no'. β¨
π NOTES π
the only currently supported backend is Unbound. that's the one. the only one. π
and okay, so even though the default is to use stderr for logs and not the journal, the service is distributed with a sysconfig file that reverses this behaviour, so when you're running the Dnsconfd service you get the advantages of direct journal logs. iconic.
πΈ Installation πΈ
if you have systemd-resolved installed, then bestie, you have to disable it first. no way around it.
# systemctl disable --now systemd-resolved
stop systemd-resolved and disable its start on boot. π
# systemctl mask systemd-resolved
mask the service so there are no conflicts.
# dnsconfd config install
this modifies NetworkManager to explicitly use the systemd-resolved dbus API, and changes ownership of resolvconf so that Dnsconfd does not need root privileges. slay. π
# systemctl enable --now dnsconfd
starts Dnsconfd and enables its startup on boot. π₯
π REPORTING BUGS π
please, for reporting bugs, use the Github repository at https://github.com/InfrastructureServices/dnsconfd. she wants your bug reports, fr fr. π«Ά
π SEE ALSO π
dnsconfd-status(8)β checking status of dnsconfddnsconfd-reload(8)β reload running cache servicednsconfd-config(8)β change configuration of hostdnsconfd-update(8)β change Dnsconfd configurationdnsconfd.conf(5)β Dnsconfd configuration file
π COPYRIGHT π
Copyright (c) 2023 Red Hat, Inc.
and that's the whole page bestie!! this was dnsconfd version dnsconfd-1.7.5, dated 07 Jan 2026, from the dnsconfd(8) manual β you're officially caught up, go configure something cute π
β¨π
π¦ where this page comes from
- centos-stream 10: dnsconfd 1.7.5-1.el10 Β· MIT
- centos-stream 10: dnsconfd 1.7.5-2.el10 Β· MIT
- centos-stream 9: dnsconfd 1.7.5-1.el9 Β· MIT
- centos-stream 9: dnsconfd 1.7.5-2.el9 Β· MIT
- fedora 43: dnsconfd 1.7.5-2.fc43 Β· MIT
- fedora 44: dnsconfd 1.7.5-4.fc44 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms