Costumo me conectar a várias redes simultaneamente. Cada uma dessas redes fornece a configuração do servidor de nomes via dhcp. Por exemplo, Rede 1: (eth0):
domain company1.corp #
nameserver 192.168.0.253
nameserver 192.168.0.254
Rede 2 (tun0):
domain company2.corp #
nameserver 10.102.204.51
nameserver 10.102.208.51
# Nomes alterados
Quando conectado às duas redes simultaneamente:
# 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
A resolução de service.company2.corp não funciona porque o primeiro servidor de nomes apenas conhece os nomes de company1.corp.
Tão inspirado neste artigo , eu configurei o openresolv (uma implementação resolvconf) configurando um serviço dnsmasq local na minha instalação do Arch linux.
Se eu configurar os servidores de nomes manualmente 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
Então, sou capaz de resolver nomes de company1.corp e company2.corp (o servidor dnsmasq local lida com isso.)
Observe que após a configuração manual, resolveconf -l mostra as 2 configurações separadamente:
~ # 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
No entanto, ao permitir que o gerente de rede faça a configuração, as 2 configurações não são separadas, como seria se o gerente de rede estivesse gravando no /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
Minha pergunta é como posso fazer com que o gerente de rede chame corretamente resolveconf para que os servidores de nomes de cada interface sejam registrados separadamente. (Infelizmente, pesquisar no Google é inútil porque o Google pensa que "resolveconf" == "resolve.conf")
"resolvconf"
com as aspas. Sempre coloque aspas nos nomes próprios no Google.