A menudo me conecto a múltiples redes simultáneamente. Cada una de estas redes proporciona la configuración del servidor de nombres a través de dhcp. Ej. Red 1: (eth0):
domain company1.corp #
nameserver 192.168.0.253
nameserver 192.168.0.254
Red 2 (tun0):
domain company2.corp #
nameserver 10.102.204.51
nameserver 10.102.208.51
# Nombres cambiados
Cuando se conecta a ambas redes simultáneamente:
# 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
Resolver service.company2.corp no funciona porque el servidor de nombres solo conoce los nombres de company1.corp.
Entonces, inspirado en este artículo , configuré openresolv (una implementación resolvconf) configurando un servicio dnsmasq local en mi instalación de Arch Linux.
Si configuro los servidores de nombres 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
Entonces puedo resolver nombres de company1.corp y company2.corp (el servidor local dnsmasq maneja esto).
Tenga en cuenta que después de la configuración manual, resolveconf -l muestra las 2 configuraciones por separado:
~ # 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
Sin embargo, al permitir que el administrador de red haga la configuración, las 2 configuraciones no están separadas, como lo sería si el administrador de red escribiera en /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
Mi pregunta es cómo puedo hacer que el administrador de red llame correctamente a resolveconf para que los servidores de nombres de cada interfaz se registren por separado. (Desafortunadamente, buscar en Google esto es inútil porque Google piensa que "resolveconf" == "resolve.conf")
"resolvconf"
con las comillas. Siempre ponga comillas alrededor de los nombres propios en Google.