Tiempos de espera de resolución de DNS de Windows 10 de alojamiento múltiple

11

Tengo varias máquinas virtuales de cliente Windows 10 de múltiples hogares unidas a un dominio de Windows 2012 R2. Ethernet1 está conectado a una LAN con los controladores de dominio (que no tienen reenviadores o acceso a los servidores raíz), Ethernet2 está conectado a una LAN con acceso a Internet, Ethernet0 y Ethernet3 tienen sus medios desconectados. Las consultas de los registros de los controladores de dominio se devuelven bien, pero las consultas de los registros de Internet tardan 10 segundos más el tiempo que tarden los servidores DNS de mi ISP en devolver una respuesta. Si consulto los servidores DNS de mi ISP directamente a través nslookupdel nombre, se resuelve rápidamente (<1 segundo), si solo ejecuto nslookupsin especificar un servidor DNS, la consulta agota el tiempo de espera y el nombre nunca se resuelve, y si trato de hacer ping al nombre DNS, tarda> 10 segundos antes de que se resuelva el nombre.

He echado un vistazo a Technet, pero parece que todavía no hay documentación sobre Windows 10. Lo mejor que he encontrado es:

http://blogs.technet.com/b/networking/archive/2009/06/26/dns-client-resolver-behavior.aspx http://blogs.technet.com/b/stdqry/archive/2011/12 /15/dns-clients-and-timeouts-part-2.aspx

Lo que dice que debería esperar que mi cliente consulte el servidor DNS primario para Ethernet1, espere 1 segundo para la respuesta al tiempo de espera y luego consulte tanto el servidor DNS secundario para Ethernet1 como el servidor DNS primario para Ethernet2, pero esto no parece estar sucediendo La documentación continúa diciendo que después de 10 segundos (y más 3 rondas más de consultas DNS con tiempos de espera más largos) la resolución DNS fallaría por completo para todos los adaptadores, pero el comportamiento del cliente da la impresión de que está tomando 10 segundos antes incluso de intentar use los servidores DNS para el segundo adaptador.

En ausencia de mí (o de ti) abriendo Wireshark y olisqueando la línea, o modificando a ciegas, HKLM\System\CurrentControlSet\Services\dnscache\Parameters\DNSQueryTimeouts¿alguien sabe cómo se supone que debe comportarse Windows 10 y, lo que es más importante, cómo puedo configurar el comportamiento? Estoy dispuesto a vivir con un tiempo de resolución de ~ 1 segundo, pero 10 segundos es bastante brutal.

ipconfig

Ethernet adapter Ethernet1:

   Connection-specific DNS Suffix  . : intranet.mydomain.net
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection #2
   Physical Address. . . . . . . . . : 00-0C-29-CC-E8-93
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::999b:3e21:749b:6f55%7(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.2.0.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Lease Obtained. . . . . . . . . . : Sunday, September 6, 2015 8:17:00 AM
   Lease Expires . . . . . . . . . . : Sunday, September 13, 2015 8:17:00 AM
   Default Gateway . . . . . . . . . :
   DHCP Server . . . . . . . . . . . : 10.2.0.2
   DHCPv6 IAID . . . . . . . . . . . : 83889193
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-74-AB-6A-00-0C-29-CC-E8-89
   DNS Servers . . . . . . . . . . . : 10.2.0.1
                                       10.2.0.2
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet2:

   Connection-specific DNS Suffix  . : internet.mydomain.net
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection #3
   Physical Address. . . . . . . . . : 00-0C-29-CC-E8-9D
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::944:ded1:dc53:cec4%6(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.116(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Sunday, September 6, 2015 8:17:04 AM
   Lease Expires . . . . . . . . . . : Monday, September 7, 2015 8:17:04 AM
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 83889193
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-74-AB-6A-00-0C-29-CC-E8-89
   DNS Servers . . . . . . . . . . . : 75.75.75.75
                                       75.75.76.76
                                       8.8.8.8
   NetBIOS over Tcpip. . . . . . . . : Enabled

nslookup

C:\Users\username>nslookup www.google.com 75.75.75.75
Server:  cdns01.comcast.net
Address:  75.75.75.75

Non-authoritative answer:
Name:    www.google.com
Addresses:  2607:f8b0:4001:c07::69
          74.125.196.106
          74.125.196.104
          74.125.196.147
          74.125.196.105
          74.125.196.99
          74.125.196.103


C:\Users\username>nslookup www.google.com
DNS request timed out.
    timeout was 2 seconds.
Server:  UnKnown
Address:  10.2.0.1

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Request to UnKnown timed-out

Actualizar

En caso de que alguien más se lo pregunte, me uní a una máquina virtual Win7 SP1 (sin parches) con la misma configuración de adaptador de red para el dominio, la moví a la misma unidad organizativa que las otras máquinas virtuales y actualicé la política de grupo en el cliente por si acaso. Es capaz de resolver consultas DNS tanto de los servidores DNS del DC como de mis ISP inmediatamente. Por lo tanto, parece que este es un comportamiento específico para el cliente DNS de Windows 10.

Actualización 2

Entonces las cosas se están poniendo más extrañas. Parece que Win10, por defecto, emitirá las consultas en paralelo, pero no pasará la respuesta a cualquier proceso que se solicite hasta que finalicen todas las consultas. Y por alguna razón, el servidor DNS en mi segundo controlador de dominio no funciona. ¿Alguien sabe cómo deshabilitar este comportamiento?

Wireshark Packet Trace

Mate
fuente
Echar un vistazo a esta pregunta: superuser.com/questions/966017/... haarymc señaló que la resolución de DNS de Windows 10 fue modificado y puntos significativamente algunas soluciones posibles.
Brandon Xavier
Comenzaría con DisableSmartNameResolution que se mencionó.
Brandon Xavier
Brandon, parece que establecer DisableSmartNameResolution en 1 (en lugar de 0 como lo recomienda el enlace) funcionó. Si desea publicarlo como respuesta, le otorgaré el representante. ¡Gracias!
Matt
LOL, mucha proyección. Manténgase enojado porque Brandon Xavier encontró el problema aquí, obtendrá el representante de +100 cuando vuelva a publicar su comentario como respuesta, y que no le moleste leer sus propias citas.
Matt
1
Aquí hay otro buen enlace sobre esta nueva característica, y cómo cambia desde Windows 8.1 a Windows 10. medium.com/@ValdikSS/...
GuitarPicker

Respuestas:

11

Microsoft ha modificado o reescrito sustancialmente en Windows 10 el DNS Resolver.

El cambio más grande fue emitir consultas DNS a todos los adaptadores en paralelo, luego tomar la primera respuesta para llegar. Desafortunadamente, el nuevo código contiene errores y omisiones, y parece que, en lugar de tomar la primera respuesta, espera todas las respuestas. Si una de las consultas DNS expira, esto significa una espera de 10 segundos antes de que se resuelva el DNS.

Sin duda, este error se solucionará en una futura actualización de Windows 10. Hasta entonces, para devolver el comportamiento lo más posible al de las versiones anteriores de Windows, existen las siguientes modificaciones en el registro:

DisableSmartNameResolution (DWORD)

En clave de registro HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient.
El valor es 1 para deshabilitar, 0 para habilitar la resolución inteligente.
Desde Desactivar la resolución inteligente de nombres con múltiples referencias :

Especifica que un cliente DNS con múltiples hosts debe optimizar la resolución de nombres en todas las redes. La configuración mejora el rendimiento al emitir consultas de resolución de nombre de multidifusión local de enlace DNS paralelo (LLMNR) y NetBIOS sobre TCP / IP (NetBT) en todas las redes. En el caso de que se reciban múltiples respuestas positivas, el orden de enlace de red se utiliza para determinar qué respuesta aceptar. Si habilita esta configuración de directiva, el cliente DNS no realizará ninguna optimización. Las consultas DNS se emitirán primero en todas las redes. Las consultas LLMNR se emitirán si las consultas DNS fallan, seguidas de las consultas NetBT si las consultas LLMNR fallan. Si deshabilita esta configuración de política o si no configura esta configuración de política, la resolución del nombre se optimizará al emitir consultas DNS LLMNR y NetBT.

DisableParallelAandAAAA (DWORD)

En clave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters.
El valor es 0 para habilitar, 1 para deshabilitar que las consultas DNS A y AAAA se ejecuten en paralelo en todos los servidores DNS configurados, y la respuesta más rápida se acepta teóricamente primero.

harrymc
fuente
1
Solo quería agregar que estoy en Win 10.0.10586 y HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClientque no existe. Además, DisableParallelAandAAAAno existe, pero las claves existen, por lo que se puede agregar.
Mahdi
Esto ha resuelto el problema de VPN split-dns en Windows 10. Cuando está conectado a un vpn (es decir, usando un cliente Cisco), el dns del vpn solo se usa algunas veces debido a estas dos características. Al deshabilitar ambas (resolución de nombre inteligente y consultas DNS paralelas), permite que el DNS de la VPN se use de manera confiable. Además, resuelve el problema de "fuga dns" que tiene cuando se encuentra en una red wi-fi insegura / no confiable, como en una cafetería con Windows 10. Sus consultas de dns pasarán por el VPN ahora en lugar de ir a veces a la cafetería. dns. ¡Muchas gracias por proporcionar esta solución!
truemedia
2
Versión práctica de PowerShell para cualquiera que esté golpeando esto (estamos en Stack Exchange): Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWordySet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name DisableParallelAandAAAA -Value 1 -Type DWord
Nick Craver
1
Estas claves de registro no tuvieron efecto en mi windows10, lo que funcionó fue:Press WIN+R and write gpedit.msc Expand Administrative templates Expand Network Click DNS-client Double-click "Turn off smart multi-homed name resolution" Check the box called "Enabled" Click "Apply all" and then "OK"
Julien
1

fuente

SMHNR ha cambiado ligeramente para Windows 10 en comparación con Windows 8. En Windows 10, no puede desactivarlo a través del registro.

Para Windows 10, puede usar "Políticas locales" para desactivar la función. Siga los pasos a continuación para hacer esto:

  • Presione WIN + R y escriba gpedit.msc
  • Expandir Plantillas administrativas Expandir red
  • Haga clic en DNS-client Haga doble clic en "Desactivar la resolución inteligente de nombres con múltiples referencias"
  • Marque la casilla llamada "Habilitado"
  • Haga clic en "Aplicar todo" y luego en "Aceptar"
Julien
fuente
Julien, no digo que las rutas no se hayan movido en el registro, pero cuando actualizas la configuración en la Política local, la gran mayoría de lo que estás haciendo es hacer cambios en el registro (por el Editor de políticas locales). De hecho, esta es una forma muy común de averiguar qué parte del registro se debe modificar directamente para una configuración particular. Ejecute ProcMon (desde Sysinternals) y realice el cambio y luego determine cuál fue la ruta de registro efectiva en qué sección se actualizó de qué a qué.
thepip3r
0

Dado que los servidores DNS de su dominio no tienen acceso a los servidores raíz y no tiene configurados los reenvíos, debe eliminar las sugerencias de raíz inalcanzables del servidor DNS para acelerar las consultas de direcciones que no aloja. Esto debería acelerar los tiempos de espera y, a su vez, acelerar la resolución del cliente. De lo contrario, seguirá intentando ponerse en contacto con los servidores raíz antes de darse por vencido.

El procedimiento para eliminar sugerencias de raíz en 2008 R2 se documenta aquí .

GuitarPicker
fuente
Gracias por la respuesta, pero esta pregunta se refería al comportamiento de los clientes, no al servidor DNS del controlador de dominio, como se señaló en "... ¿Alguien sabe cómo se supone que debe comportarse Windows 10 y, lo que es más importante, cómo puedo configurar el comportamiento "
Matt
Lo suficientemente justo. Parecía que los clientes se comportaban de esta manera debido a una configuración no óptima. ¿Tiene algún cliente que no sea Windows 10 que se comporte de manera diferente?
GuitarPicker
No, tengo otros clientes Win10 VM que tienen Ethernet3 (acceso a Internet basado en VPN y servidor DNS 1.2.3.4) conectado en lugar de Ethernet2, y se comportan igual. ¿Y cómo un cliente multihomed con servidores DNS para ambas redes podría considerarse no óptimo?
Matt
1
GuitarPicker, probé su sugerencia de cliente que no es Win10 y parece que este es un comportamiento específico de Windows 10.
Matt
Parece que la respuesta de @ harrymc se encargará de las cosas del lado del cliente. De hecho, lo encontré después de leer tu comentario y antes de leer su respuesta. Microsoft es sorprendentemente silencioso sobre documentarlo. Mi solución podría darle un poco más de impulso en el tiempo de resolución para todos los clientes, pero su respuesta explicaría la diferencia en los clientes.
GuitarPicker