The update script for resolvconf writes up to three nameserver lines to resolv.conf.
If you access man pages for resolvconf
, you can find this information:
$ man resolvconf
Go to line 47, or libc subsection from CONSUMERS OF NAMESERVER INFORMATION section and watch for the number 1 item:
libc
The most important software package that subscribes to the notification service is the GNU C Library
resolver(3). This library is used by many applications that need to resolve domain names. When nameserver
information is updated, the script /etc/resolvconf/update.d/libc generates a new version of the resolver con‐
figuration file, /run/resolvconf/resolv.conf, as described below. If the new version of the file differs from
the previously generated one then the hook scripts found in /etc/resolvconf/update-libc.d/ are executed.
The dynamically generated resolver configuration file always starts with the contents of /etc/resolv‐
conf/resolv.conf.d/head and ends with the contents of /etc/resolvconf/resolv.conf.d/tail. Between head and
tail the libc script inserts dynamic nameserver information compiled from, first, information provided for
configured interfaces; second, static information from /etc/resolvconf/resolv.conf.d/base. Specifically, it
writes:
1) up to three nameserver lines, ordered according to /etc/resolvconf/interface-order, possibly fewer if one
of the addresses is a loopback address and the TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS environ‐
ment variable is affirmatively set, as discussed in the ENVIRONMENT VARIABLES section;
2) up to one search line containing the combined domain search list from all "domain" and "search" input
lines, also ordered according to interface-order(5);
3) all other non-comment input lines.