systemd-resolved.service man page

systemd-resolved.service, systemd-resolved — Network Name Resolution manager





systemd-resolved is a system service that provides network name resolution to local applications. It implements a caching and validating DNS/DNSSEC stub resolver, as well as an LLMNR resolver and responder. Local applications may submit network name resolution requests via three interfaces:

The DNS servers contacted are determined from the global settings in /etc/systemd/resolved.conf, the per-link static settings in /etc/systemd/network/*.network files, the per-link dynamic settings received over DHCP and any DNS server information made available by other system services. See resolved.conf(5) and for details about systemd's own configuration files for DNS servers. To improve compatibility, /etc/resolv.conf is read in order to discover configured system DNS servers, but only if it is not a symlink to /run/systemd/resolve/resolv.conf (see below).

systemd-resolved synthesizes DNS resource records (RRs) for the following cases:

Lookup requests are routed to the available DNS servers and LLMNR interfaces according to the following rules:

If lookups are routed to multiple interfaces, the first successful response is returned (thus effectively merging the lookup zones on all matching interfaces). If the lookup failed on all interfaces, the last failing response is returned.

Routing of lookups may be influenced by configuring per-interface domain names. See for details. Lookups for a hostname ending in one of the per-interface domains are exclusively routed to the matching interfaces.

See the resolved D-Bus API Documentation[1] for information about the APIs systemd-resolved provides.


Three modes of handling /etc/resolv.conf (see resolv.conf(5)) are supported:

Note that the selected mode of operation for this file is detected fully automatically, depending on whether /etc/resolv.conf is a symlink to /run/systemd/resolve/resolv.conf or lists as DNS server.



Upon reception of the SIGUSR1 process signal systemd-resolved will dump the contents of all DNS resource record caches it maintains into the system logs.


Upon reception of the SIGUSR2 process signal systemd-resolved will flush all caches it maintains. Note that it should normally not be necessary to request this explicitly – except for debugging purposes – as systemd-resolved flushes the caches automatically anyway any time the host's network configuration changes.

See Also

systemd(1), resolved.conf(5), dnssec-trust-anchors.d(5), nss-resolve(8), systemd-resolve(1), resolv.conf(5), hosts(5),, systemd-networkd.service(8)


API Documentation


Referenced By

dnssec-trust-anchors.d(5), nss-resolve(8), resolved.conf(5), systemd.directives(7), systemd.index(7),, systemd-resolve(1).

systemd-resolved(8) is an alias of systemd-resolved.service(8).

systemd 233 systemd-resolved.service