ใน 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
วิธีแก้ปัญหา
เมื่อฉันให้ทั้งสองอินเตอร์เฟส (สายและ 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 หรือเช่นนั้น)
ฉันไม่แน่ใจว่านี่เป็นข้อผิดพลาดหรือไม่รู้สึกผิดกับฉัน