Problema de resolución de dominio con Debian estándar

Problema de resolución de dominio con Debian estándar

Tengo una instalación sencilla con Debian como invitado en Virtualbox. Instalé el resolvconfpaquete. El archivo resolv.conf es este:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 10.3.x.x
nameserver 10.219.x.x

Agregué servidores de nombres a través de GUI (Aplicaciones/Herramientas del sistema/Herramientas de red).

El 8.8.8.8 es el DNS de Google y quiero usarlo para resolver direcciones de Internet. Se necesitan 10.3.xx y 10.219.xx para resolver dominios internos como teleportal.company.intra.

Cuando tengo estos servidores de nombres en resolv.conf (y 8.8.8.8 es el primero), aparece un error al consultar una dirección interna:

> host teleportal.company.intra           
Host teleportal.company.intra not found: 3(NXDOMAIN)

Sin embargo, si configuro explícitamente la nameserverdirección del segundo como servidor de nombres para nslookup, funciona:

» nslookup teleportal.company.intra 10.3.x.x
Server:     10.3.x.x
Address:    10.3.x.x#53

teleportal.company.intra    canonical name = proxy.dummy1.dummy2.private.
Name:   proxy.dummy1.dummy2.private
Address: 172.27.x.x
Name:   proxy.dummy1.dummy2.private
Address: 172.27.x.x

La documentación resolv.conf indica que las nameserverentradas se probarán en orden, si una de ellas no puede resolver la consulta. Sin embargo, si activo la depuración cuando uso, nslookupveo que nslookupni siquiera prueba otras entradas, solo la primera.

Si cambio el orden de las nameserversdirecciones internas, las direcciones internas se resolverán correctamente (nslookup todavía usa solo la primera entrada).

¿Cómo puedo configurar 3 servidores de nombres para que las utilidades los utilicen todos en orden?

Respuesta1

La resolv.conflista de servidores de nombres se contacta uno tras otro sólo en caso de tiempo de espera. No cuando un servidor de nombres dice con autoridad "no existe tal dominio" ( NXDOMAIN). En su caso, el DNS 8.8.8.8aparentemente no lo sabe teleportal.company.intray el solucionador se detuvo cuando obtuvo el archivo NXDOMAIN.

Si es posible, debe configurar un servidor DNS y usarlo para toda su resolución y dejar que el servidor DNS decida cómo resolver el nombre. Si 10.3.x.xes el servidor DNS de su intranet, probablemente también podrá resolver los nombres de host de Internet.

Dicho esto, si realmente desea transmitir las solicitudes a diferentes servidores DNS según los nombres, puede probarpdnsd. Es un programa de proxy DNS de almacenamiento en caché que se ejecutaría localmente. Instálelo ( apt-get install pdnsd) y agregue su localhost ( 127.0.0.1) a resolv.conf. En el pdnsd.confarchivo de configuración puede especificar con qué servidores DNS contactar según la coincidencia de nombres. Un párrafo de ejemplo para su /etc/pdnsd.conf:

server {
    label= "google";
    exclude = ".company.intra";
    ip = 8.8.8.8;
}

server {
    label= "intra";
    include = ".company.intra";
    ip = 10.3.x.x;
}

Eliminé muchos otros parámetros en el archivo anterior. Debe seguir la documentación y el archivo de configuración de ejemplo que se incluye con el paquete Debian para configurar su pdnsd.conf.

Respuesta2

Ipensarque el solucionador recurra al DNS secundario (o terciario o...)sólo si el primero (o el segundo o...) falla.

En este caso la consultano falla, devuelve correctamente NXDOMAIN, es decir, el nombre de dominio no existe.

Si realmente desea utilizar el DNS de Google (o cualquier otro DNS) para resolver dominios externos (en lugar de sus servidores de nombres internos), puede configurar sus servidores 10.3.x.xpara 10.219.x.xque sean authoritativesolo para sus nombres internos y para reenviar todas las demás consultas a DNS externo, luego use sus servidores de nombres internos como susoloservidores de nombres en sus computadoras internas.

información relacionada