На моем RPi под управлением Ubuntu 16.04.2 LTS мои выводы были следующими:
Примечание: я удалил NetworkManager и просто оставил resolvconf, чтобы заняться своими делами. (Это фиксированный сервер, поэтому в сети ничего не меняется.)
Если бы у меня были строки dns-search и dns-nameserver только на ОДНОМ интерфейсе (основной, проводной), но не на другом (wlan0), то при перезагрузке примерно 95% времени мой файл /etc/resolv.conf был бы опорожнить.
Например, когда мой файл интерфейсов выглядел так:
# The primary network interface
auto enxb827ebbfedcf
iface enxb827ebbfedcf inet static
address 192.168.1.16
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-search summer.co.uk summer.vpn
dns-nameserver 192.168.1.16
dns-nameserver 192.168.1.1
# end stanza with clear line+
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.1.17
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
ТОГДА после перезагрузки мой resolv.conf будет выглядеть так:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
Тем не менее, при одной или двух перезагрузках я заметил, что он имел то, что хотел, например
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.16
nameserver 192.168.1.1
search summer.co.uk summer.vpn
Решение
Когда я дал обоим интерфейсам (wired и wlan0) строки dns-search и dns-nameserver, все работало нормально при каждой перезагрузке (так или иначе)
т.е. у меня работает следующий файл интерфейсов:
# The primary network interface
auto enxb827ebbfedcf
iface enxb827ebbfedcf inet static
address 192.168.1.16
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-search summer.co.uk summer.vpn
dns-nameserver 192.168.1.16
dns-nameserver 192.168.1.1
# end stanza with clear line+
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.1.17
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-search summer.co.uk summer.vpn
dns-nameserver 192.168.1.16
dns-nameserver 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
и дает мне следующий правильный resolv.conf после каждой перезагрузки (пока)
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.16
nameserver 192.168.1.1
search summer.co.uk summer.vpn
Я предполагаю, что этот дубликат конфигурации нормальный, но несколько избыточный.
Вывод: если интерфейсу (кроме lo0) не хватает информации dns-search и dns-nameserver, то resolvconf ничего не помещает в ваш файл resolv.conf. (Это как если бы ifup сделал интерфейс wlan0 вторым, а ifup уничтожил resolv.conf или что-то подобное.)
Я не уверен, если это ошибка или нет, мне кажется, что это неправильно.