Je me connecte souvent à plusieurs réseaux simultanément. Chacun de ces réseaux fournit une configuration de serveur de noms via DHCP. Par exemple, réseau 1: (eth0):
domain company1.corp #
nameserver 192.168.0.253
nameserver 192.168.0.254
Réseau 2 (tun0):
domain company2.corp #
nameserver 10.102.204.51
nameserver 10.102.208.51
# Les noms ont changé
Lorsqu'il est connecté aux deux réseaux simultanément:
# 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 résolution de service.company2.corp ne fonctionne pas car le serveur de prénom ne connaît que les noms de company1.corp.
Tellement inspiré par cet article , j'ai installé openresolv (une implémentation resolvconf) configurant un service dnsmasq local sur mon installation Arch linux.
Si je configure les serveurs de noms manuellement à l'aide de 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
Ensuite, je suis en mesure de résoudre les noms de company1.corp et company2.corp (le serveur dnsmasq local gère cela.)
Notez qu'après la configuration manuelle, resolveconf -l affiche séparément les 2 configurations:
~ # 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
Cependant, lorsque vous laissez le gestionnaire de réseau faire la configuration, les 2 configurations ne sont pas distinctes, comme ce serait le cas si le gestionnaire de réseau écrivait dans /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
Ma question est de savoir comment puis-je demander au gestionnaire de réseau d'appeler correctement resolveconf pour que les serveurs de noms de chaque interface soient enregistrés séparément. (Malheureusement, googler pour cela est inutile car google pense que "resolveconf" == "resolver.conf")
"resolvconf"
avec les guillemets. Mettez toujours des guillemets autour des noms propres sur Google.