Saya sering terhubung ke beberapa jaringan secara bersamaan. Masing-masing jaringan ini menyediakan konfigurasi server nama melalui dhcp. Mis. Jaringan 1: (eth0):
domain company1.corp #
nameserver 192.168.0.253
nameserver 192.168.0.254
Jaringan 2 (tun0):
domain company2.corp #
nameserver 10.102.204.51
nameserver 10.102.208.51
# Nama berubah
Ketika terhubung ke kedua jaringan secara bersamaan:
# resolv.conf from NetworkManager
domain company1.corp, company2.corp
nameserver 192.168.0.253
nameserver 192.168.0.254
nameserver 10.102.204.51
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 10.102.208.51
Menyelesaikan service.company2.corp tidak berfungsi karena server nama depan hanya tahu tentang nama company1.corp.
Karena terinspirasi oleh artikel ini , saya telah menyiapkan openresolv (implementasi resolvconf) yang mengonfigurasi layanan dnsmasq lokal di install linux Arch saya.
Jika saya mengkonfigurasi nameserver secara manual menggunakan resolvconf:
# resolvconf -d NetworkManager
# echo "domain company1.corp
nameserver 192.168.0.253
nameserver 192.168.0.254
" | resolvconf -a eth0
# echo "domain company2.corp
nameserver 10.102.204.51
nameserver 10.102.208.51
" | resolvconf -a tun0
Kemudian saya dapat menyelesaikan nama dari company1.corp dan company2.corp (server dnsmasq lokal menangani ini.)
Perhatikan bahwa setelah konfigurasi manual, resolveconf -l menunjukkan 2 konfigurasi secara terpisah:
~ # resolvconf -l
# resolv.conf from tun0
domain company2.corp
nameserver 10.102.204.51
nameserver 10.102.208.51
# resolv.conf from eth0
domain company1.corp
nameserver 192.168.0.253
nameserver 192.168.0.254
Namun, ketika membiarkan manajer jaringan melakukan konfigurasi, 2 konfigurasi tidak terpisah, sebagaimana jika manajer jaringan menulis ke /etc/resolve.conf
~ # resolvconf -l
# resolv.conf from NetworkManager
# Generated by NetworkManager
domain company1.corp, company2.corp
nameserver 192.168.0.253
nameserver 192.168.0.254
nameserver 10.102.204.51
# NOTE: the libc resolver may not support more than 3 nameservers.
# The nameservers listed below may not be recognized.
nameserver 10.102.208.51
Pertanyaan saya adalah bagaimana saya bisa mendapatkan manajer jaringan untuk memanggil resolveconf dengan benar sehingga server nama untuk setiap antarmuka terdaftar secara terpisah. (Sayangnya googling untuk ini tidak berguna karena google berpikir bahwa "resolveconf" == "resol.conf")
"resolvconf"
dengan kutipan. Selalu beri tanda kutip di sekitar nama yang tepat di Google.