dnsconfd - Man Page

local DNS cache configuration daemon

Synopsis

dnsconfd [options]

Description

Dnsconfd is a local cache configuration daemon. It implements DBus interface of systemd-resolved and translates its use to dns service's configuration.

Options

-h,  --help

Show help message and exit

--dbus-name DBUS_NAME

DBUS name that dnsconfd should use, default com.redhat.dnsconfd

--log-level {DEBUG,INFO,WARN}

Log level of dnsconfd, default INFO

--resolv-conf-path RESOLV_CONF_PATH

Path to resolv.conf that the dnsconfd should manage, default /etc/resolv.conf

--prioritize-wire,  --no-prioritize-wire

If set to yes then wireless interfaces will have lower priority, default yes

--listen-address ADDRESS

Address on which local resolver listens, default 127.0.0.1

--config-file PATH

Path where config file is located, default /etc/dnsconfd.conf

--resolver-options options

Options to be used in resolv.conf for alteration of resolver, default "edns0 trust-ad"

--dnssec-enabled,  --no-dnssec-enabled

Enable dnssec record validation, default no

--handle-routing,  --no-handle-routing

Dnsconfd will submit necessary routes to routing manager, default yes

--stderr-log,  --no-stderr-log

Dnsconfd will write logs into stderr, default yes

--journal-log,  --no-journal-log

Dnsconfd will send logs into journal, default no

--syslog-log

Dnsconfd will send logs into syslog destination specified by this option, by default disabled. You can specify either linux domain socket by 'unix:<path>' where path will usually be /dev/log on your system, or you can use tcp or udp protocols like: '<transport_protocol>:<host>:<port>' where 'transport_protocol' is either tcp or udp, host can be ipv4, ipv6 address in square brackets or hostname and the port where syslog daemon is listening. Examples: udp:localhost:514, udp:[::1]:514, tcp:127.0.0.1:514, tcp:myhost.example.com:514

--file-log

Dnsconfd will write logs into specified file, not used by default

--api-choice

Dnsconfd will switch between APIs. Allowed options are resolve1 and dnsconfd. Default is dnsconfd

--certification-authority

Space separated list of CA bundles used for encrypted protocols as default when no custom CA was specified. The first one that can be accessed will be used, default /etc/pki/dns/extracted/pem/tls-ca-bundle.pem /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

Exit Status

0

Graceful stop.

8

DNS caching service failure. Service crashed for example.

9

Failed communication through DBUS.

10

Failed interaction with resolv.conf.

11

Failed to configure dns cache service.

12

Failed to set up necessary routes.

13

Bad arguments.

Environment

Environment variables have lower priority than command line options but higher than configuration file. Boolean options recognize 'yes' or '1' as True, all other values are considered as False.

DBUS_NAME

DBUS name that dnsconfd should use, default org.freedesktop.resolve1

LOG_LEVEL

Log level of dnsconfd, default INFO

RESOLV_CONF_PATH

Path to resolv.conf that the dnsconfd should manage, default /etc/resolv.conf

PRIORITIZE_WIRE

If set to yes then wireless interfaces will have lower priority, default yes

LISTEN_ADDRESS

Address on which local resolver listens, default 127.0.0.1

CONFIG_FILE

Path where config file is located, default /etc/dnsconfd.conf

RESOLVER_OPTIONS

Options to be used in resolv.conf for alteration of resolver, default "edns0 trust-ad"

DNSSEC_ENABLED

Enable dnssec record validation, default no

HANDLE_ROUTING

Dnsconfd will submit necessary routes to routing manager, default yes

STDERR_LOG

Dnsconfd will write logs into stderr, default yes

JOURNAL_LOG

Dnsconfd will send logs into journal, default no

SYSLOG_LOG

Dnsconfd will send logs into syslog destination specified by this option, by default disabled. See command line option for destination specification syntax.

FILE_LOG

Dnsconfd will write logs into specified file, not used by default

API_CHOICE

Dnsconfd will switch between APIs. Allowed options are resolve1 and dnsconfd. Default is resolve1

Files

Dnsconfd manages resolv.conf to route domain name resolution to local cache service. Default location of the configuration file is /etc/dnsconfd.conf.

Routing

Dnsconfd by default submits routes through NetworkManager, so system contacts DNS servers through the right interfaces. This behaviour can be turned off by setting handle_routing option to 'no'.

Notes

The only currently supported backend is Unbound.

Although default is to use stderr for logs and not journal, service is distributed with sysconfig file that reverses this behaviour, so when running Dnsconfd service you will have advantages of direct journal logs.

Installation

If you have systemd-resolved installed then you have to disable it first.

# 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

Modifies NetworkManager to explicitly use systemd-resolved dbus API, and changes ownership of resolvconf so Dnsconfd does not need root privileges.

# systemctl enable --now dnsconfd

Starts Dnsconfd and enables its startup on boot.

Reporting Bugs

Please for reporting bugs use Github repository https://github.com/InfrastructureServices/dnsconfd

See Also

dnsconfd-status(8) Checking status of dnsconfd dnsconfd-reload(8) Reload running cache service dnsconfd-config(8) Change configuration of host dnsconfd-update(8) Change Dnsconfd configuration dnsconfd.conf(5) Dnsconfd configuration file

Referenced By

dnsconfd.conf(5), dnsconfd-config(8), dnsconfd-reload(8), dnsconfd-status(8).

19 Feb 2025 dnsconfd-1.7.2