Mi collego spesso a più reti contemporaneamente. Ognuna di queste reti fornisce la configurazione del nameserver tramite dhcp. Ad esempio, Network 1: (eth0):
domain company1.corp #
nameserver 192.168.0.253
nameserver 192.168.0.254
Rete 2 (tun0):
domain company2.corp #
nameserver 10.102.204.51
nameserver 10.102.208.51
# Nomi cambiati
Quando collegati a entrambe le reti contemporaneamente:
# 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
La risoluzione di service.company2.corp non funziona perché il primo server dei nomi conosce solo i nomi company1.corp.
Così ispirato da questo articolo , ho installato openresolv (un'implementazione resolvconf) configurando un servizio dnsmasq locale sulla mia installazione di Arch Linux.
Se configuro manualmente i nameserver usando 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
Quindi sono in grado di risolvere i nomi da company1.corp e company2.corp (il server dnsmasq locale gestisce questo.)
Si noti che dopo la configurazione manuale, resolveconf -l mostra le 2 configurazioni separatamente:
~ # 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
Tuttavia, quando si lascia che Network Manager esegua la configurazione, le 2 configurazioni non sono separate, come sarebbe se Network Manager stesse scrivendo su /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
La mia domanda è: come posso fare in modo che il gestore della rete chiami correttamente resolveconf in modo che i server dei nomi per ciascuna interfaccia siano registrati separatamente. (Sfortunatamente googling per questo è inutile perché google pensa che "resolveconf" == "resol.conf")
"resolvconf"
tra le virgolette. Metti sempre le virgolette intorno ai nomi propri su Google.