nss-resolve
systemd
Developer
Lennart
Poettering
lennart@poettering.net
nss-resolve
8
nss-resolve
libnss_resolve.so.2
Provide hostname resolution via systemd-resolved.service
libnss_resolve.so.2
Description
nss-resolve is a plug-in module for the GNU Name Service Switch (NSS) functionality of the
GNU C Library (glibc) enabling it to resolve host names via the
systemd-resolved8 local network
name resolution service. It replaces the nss-dns plug-in module that traditionally resolves
hostnames via DNS.
To activate the NSS module, add resolve to the line starting with
hosts: in /etc/nsswitch.conf. Specifically, it is recommended to place
resolve early in /etc/nsswitch.conf's hosts: line (but
after the files or mymachines entries), right before the
dns entry if it exists, followed by [!UNAVAIL=return], to ensure DNS queries
are always routed via
systemd-resolved8 if it is
running, but are routed to nss-dns if this service is not available.
Note that systemd-resolved will synthesize DNS resource
records in a few cases, for example for localhost and the
current hostname, see
systemd-resolved8
for the full list. This duplicates the functionality of
nss-myhostname8,
but it is still recommended (see examples below) to keep
nss-myhostname configured in
/etc/nsswitch.conf, to keep those names resolveable if
systemd-resolved is not running.
Example
Here is an example /etc/nsswitch.conf file that enables nss-resolve
correctly:
passwd: compat mymachines systemd
group: compat mymachines systemd
shadow: compat
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
See Also
systemd1,
systemd-resolved8,
nss-systemd8,
nss-myhostname8,
nss-mymachines8,
nsswitch.conf5