На моем 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 -и сервере имен dns -, resolvconf ничего не помещает в файл resolv.conf. (Это как если бы ifup сделал интерфейс wlan0 вторым и ifup стер resolv.conf или что-то подобное.)
Я не уверен, ошибка это или нет, хотя мне кажется, что это неправильно.