nss-resolve, libnss_resolve.so.2 — Provide hostname resolution via systemd-resolved.service
libnss_resolve.so.2
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-resolved(8) 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-resolved(8) 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-resolved(8)
for the full list. This duplicates the functionality of
nss-myhostname(8),
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.
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