= Systemd Resolved = A component of the [[Linux/Systemd|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 [[Linux/DNS#Name_Service_Switch|NSS plugin]] that re-implements most of the name resolution stack (''including'' reading the [[Linux/Hosts|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: * in many cases, it is ''not'' a compatible compatibility layer * it is dependent on `systemd-resolved(8)` As such, services should be configured to interface with `systemd-resolved(8)` directly rather than `systemd-resolvconf(8)`. ---- CategoryRicottone