Parece que o pedido de windows.cs está indo para o servidor DNS do ISP agora e novamente. O resultado nxdomain é então armazenado em cache pelo cliente DNS do Windows e, portanto, usado para qualquer nova tentativa com um navegador da Web, ping, etc. Limpar o cache (ipconfig / flushdns) deve forçar o cliente DNS do Windows a repetir a consulta, mas não há garantia não irá ao servidor DNS do ISP novamente.
O motivo pelo qual o ping não pode resolver o nome do host, mas o nslookup can, é porque o nslookup é uma ferramenta de baixo nível que ignora o cliente DNS do Windows. Ele usa qualquer servidor DNS para o qual você diz (o primeiro por padrão) e faz a consulta na hora. Você pode alterar o servidor DNS que ele consulta digitando server <host>
no prompt nslookup, em que host é o IP ou FQDN.
No entanto, o cliente DNS do Windows só fará consultas para entradas que não estejam no cache (ou tenham expirado). Caso contrário, retorna o resultado armazenado em cache.
Não é imediatamente aparente porque o cliente Windows está usando o servidor DNS do ISP. Talvez ele não pudesse resolver o servidor local recentemente (talvez por estar em outra rede), talvez o servidor local estivesse retornando erros. Ou talvez não esteja ordenado corretamente nas configurações TCP / IP avançadas > DNS.
Pessoalmente, prefiro usar apenas endereços de servidores DNS locais em estações de trabalho (propagadas pelo DHCP), para simplificar a configuração e evitar problemas como esse. Eu ficaria curioso para saber a razão por trás da configuração do servidor DNS ISPs em desktops. Não consigo imaginar que haja qualquer razão de desempenho válida e, no que diz respeito à redundância, duas são suficientes na maioria das redes (se não adicionar uma terceira).