Na moim RPi z Ubuntu 16.04.2 LTS moje ustalenia były następujące:
Uwaga: odinstalowałem NetworkManagera i po prostu opuściłem resolvconf, aby wykonać swoje czynności. (To jest naprawiony serwer, więc nic się nie zmienia w sieci.)
JEŚLI miałem wiersze dns-search i dns-nameserver tylko na JEDNYM interfejsie (podstawowym, przewodowym), ale nie na drugim (wlan0), a następnie przy ponownym uruchomieniu, około 95% czasu to mój plik /etc/resolv.conf pusty.
np. gdy mój plik interfejsów wyglądał tak:
# 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
NASTĘPNIE po ponownym uruchomieniu mój resolv.conf wyglądałby tak:
# 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
Jednak po jednym lub dwóch ponownych uruchomieniach zauważyłem, że NIE Miałem tego, czego chciałem, np
# 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
Rozwiązanie
Kiedy podałem OBU interfejsom (przewodowym i wlan0) linie dns-search i dns-nameserver, wszystko działało dobrze przy każdym ponownym uruchomieniu komputera (jak dotąd)
tzn. działa dla mnie następujący plik interfejsów:
# 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
i daje mi następujący poprawny resolv.conf po każdym ponownym uruchomieniu (do tej pory)
# 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
Zakładam, że ta zduplikowana konfiguracja jest normalna, choć nieco zbędna.
Wniosek: Jeśli interfejs (inny niż lo0) nie ma informacji o wyszukiwaniu dns i serwerze nazw dns, oznacza to, że resolvconf nie umieszcza nic w pliku resolv.conf. (To tak, jakby ifup zrobił drugi interfejs wlan0 i ifup wyczyścił plik resolv.conf lub podobny.)
Nie jestem pewien, czy jest to błąd, czy nie, jednak czuję się źle.