Por lo que dice, parece que la solicitud de windows.cs va al servidor DNS del ISP de vez en cuando. Luego, el cliente DNS de Windows almacena en caché el resultado de nxdomain y, por lo tanto, se utiliza para cualquier reintento con un navegador web, ping, etc. Borrar el caché (ipconfig / flushdns) debería obligar al cliente DNS de Windows a volver a intentar la consulta, pero no hay garantía de que no irá al servidor DNS del ISP nuevamente.
La razón por la que ping no puede resolver el nombre de host, pero nslookup sí es porque nslookup es una herramienta de bajo nivel que omite el cliente DNS de Windows. Utiliza el servidor DNS que le indique (el primero de forma predeterminada) y realiza la consulta sobre la marcha. Puede cambiar el servidor DNS que consulta escribiendo server <host>
desde el indicador nslookup, donde el host es la IP o el FQDN.
Sin embargo, el cliente DNS de Windows solo hará consultas para las entradas que no están en su caché (o que han caducado). De lo contrario, devuelve el resultado en caché.
No es evidente de inmediato por qué el cliente de Windows está utilizando el servidor DNS del ISP. Quizás no pudo resolver el servidor local recientemente (quizás debido a estar en otra red), quizás el servidor local estaba devolviendo errores. O quizás no esté ordenado correctamente en Configuración avanzada de TCP / IP> DNS.
Personalmente, prefiero usar solo las direcciones del servidor DNS local en las estaciones de trabajo (propagadas por DHCP), para simplificar la configuración y evitar problemas como este. Me gustaría saber la razón detrás de configurar el servidor DNS de los ISP en los escritorios. No puedo imaginar que haya razones de rendimiento válidas, y en lo que respecta a la redundancia, dos es suficiente en la mayoría de las redes (si no se agrega una tercera).