O DNS não pode resolver o nome do host; nslookup pode

9

Eu tenho um usuário no Windows 7 que está tentando acessar um servidor local com um nome DNS de windows.cs. Nós temos dois servidores DNS internos. O servidor DHCP atribui aos usuários os dois servidores DNS internos como primário e secundário e, em seguida, nosso ISPs DNS como um servidor DNS terciário.

De vez em quando, o usuário não pode acessar o site no windows.cs. Se eu pingar, ele diz que não pode resolver o nome do host. Eu libero o cache do DNS e, quando exibo o cache do DNS, ele tem o seguinte:

windows.cs - o nome não existe

No entanto, se eu usar o nslookup, que, por padrão, consulta o servidor DNS primário (nosso interno) e eu consultar o windows.cs, ele retorna o endereço IP correto.

Então, por que o Windows não pode resolver o nome do host usando o ping, mas pode ao usar a ferramenta nslookup? E como faço para corrigir isso?

    
por Safado 21.06.2011 / 21:53

4 respostas

12

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).

    
por 21.06.2011 / 23:39
0

Os resultados de nslookup diferem daqueles de ping devido a nslookup idiosyncracies e bugs . Eles não são realmente relevantes para o seu problema principal, no entanto, que é que você violou a regra que os servidores DNS de proxy de fallback devem fornecer a mesma exibição do proxy. Namespace DNS como seu principal . O servidor DNS proxy do seu ISP não oferece a mesma visão do namespace DNS que os seus próprios servidores DNS proxy na sua LAN.

Parece que outro administrador de sistema já entrou em conflito com o Meu ISP fornece e documenta, então eu preciso usá-lo. falácia. ☺

    
por 22.06.2011 / 15:02
0

TL; versão DR: IPv6 causou o problema de consulta DNS no meu caso, desativando-o resolveu o problema de consulta DNS.

Eu tive o mesmo problema na minha máquina de desenvolvimento. Sempre que eu entrei na rede da empresa, não consegui resolver os nomes de host internos, todos os nomes de host externos / URIs puderam ser resolvidos. Eu verifiquei os servidores DNS que foram atribuídos na conexão VPN e eles mostraram que os servidores DNS da empresa foram configurados como primário e secundário. Eu também poderia usar nslookup , mas tive que alterar manualmente o servidor via server X.X.X.X para obter a resolução de DNS.

No final, descobri que o IPv6 estava causando problemas com a resolução de nomes: em cada consulta DNS, o DNS IPv6 era consultado em vez dos servidores DNS da empresa IPv4. Depois de desativar o IPv6, você precisará ipconfig /flushdns , caso contrário, os endereços consultados anteriormente ainda não poderão ser resolvidos.

    
por 17.05.2017 / 13:57
0

Consegui resolver o problema de maneira simples, excluindo o registro DNS e executando os comandos flushdns e registerdns e isso corrige-o. a razão pela qual é a idade no próprio DNS. O DNS não excluiu o registro depois que a concessão foi expirada e não foi renovada, o que não pôde resolver o nome porque está acabado. Espero que isso ajude você a consertar seus problemas.

    
por 11.09.2018 / 04:04