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
Copyright
Copyright (c) 2023 Red Hat, Inc.
Referenced By
dnsconfd.conf(5), dnsconfd-config(8), dnsconfd-reload(8), dnsconfd-status(8).