Systemd Resolved

A component of the systemd project. The corresponding unit file is systemd-resolved.service.


Usage

systemd-resolved(8) is a daemon that supports DNS, mDNS, LLMNR, etc., lookups.

Name Service Switch

The project also includes an NSS plugin that re-implements most of the name resolution stack (including reading the hosts file).

The recommended configuration of /etc/nsswitch.conf:

hosts: mymachines resolve [!UNAVAIL=return] myhostname files dns

It is incompatible with Linux name resolution in one important way: the last successful DNS server is remembered and prioritized for any subsequent DNS lookups. This means that split horizon DNS configurations are not possible with systemd-resolved(8).

Resolver

The service also includes a stub resolver on 127.0.0.53:53 with the full feature set of the local resolver, and a stub resolver on 127.0.0.54:53 with a limited resolver in proxy mode. An example of that limited resolver is that DNSSEC will not be validated.

The service also creates a dummy resolver file, which just points to the aforementioned stub resolver. The recommendation is to link the system resolver file to this dummy file.

ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

On the other hand, to disable the stub listener, edit /etc/systemd/resolved.conf as follows:

DNSStubListener=no

ResolvConf

systemd-resolvconf(8) is a compatibility layer between systemd-resolved(8) and the resolvconf API. However:

As such, services should be configured to interface with systemd-resolved(8) directly rather than systemd-resolvconf(8).


CategoryRicottone

Linux/SystemdResolved (last edited 2023-06-22 20:09:56 by DominicRicottone)