web-dev-qa-db-fra.com

DNS ne peut pas résoudre le nom d'hôte; nslookup peut

J'ai un utilisateur sur Windows 7 qui tente d'accéder à un serveur local avec un nom DNS de Windows.cs. Nous avons deux serveurs DNS internes. Le serveur DHCP attribue aux utilisateurs les deux serveurs DNS internes en tant que primaire et secondaire, puis notre DNS ISPS en tant que serveur DNS tertiaire.

De temps en temps, l'utilisateur ne peut pas accéder au site Web de Windows.cs. Si je ping ça, il dit qu'il ne peut pas résoudre le nom d'hôte. Je rince le cache DNS, puis lorsque j'affiche le cache DNS, il a ce qui suit:

windows.cs - Nom n'existe pas

Pourtant, si j'utilise nslookup, qui par défaut interroge le serveur DNS principal (notre interne interne) et je requête Windows.cs, il renvoie l'adresse IP correcte.

Alors, pourquoi Windows ne peut pas résoudre le nom d'hôte à l'aide de Ping, mais il peut utiliser l'outil Nslookup? Et comment puis-je résoudre ce problème?

9
Safado

Il semble de savoir ce que vous dites que la demande de Windows.cs se rend au serveur DNS ISPS maintenant et encore. Le résultat NXDomain est ensuite mis en cache par le client DNS Windows 'et donc utilisé pour toutes les tentatives avec un navigateur Web, Ping, etc. Effacement du cache (IPConfig/Flushdns) doit forcer le client DNS Windows à réessayer la requête, mais il n'y a aucune garantie n'allongera pas à nouveau sur le serveur ISP DNS.

La raison pour laquelle Ping ne peut pas résoudre le nom d'hôte, mais Nslookup peut être dû au fait que Nslookup est un outil de bas niveau qui contourne le client Windows DNS. Il utilise tout le serveur DNS que vous le disiez (le premier par défaut) et la requête à la volée. Vous pouvez modifier le serveur DNS IT QUIES en tapant server <Host> À partir de l'invite nslookup, où l'hôte est l'adresse IP ou FQDN.

Le client Windows DNS ne fera cependant que des requêtes uniquement pour les entrées qui ne sont pas dans son cache (ou ont expiré). Sinon, il retourne le résultat mis en cache.

Ce n'est pas immédiatement évident pourquoi le client Windows utilise le serveur DNS ISP. Peut-être que cela ne pourrait pas résoudre le serveur local récemment (due peut-être d'être sur un autre réseau), peut-être que le serveur local renvoyait des erreurs. Ou peut-être qu'il n'est peut-être pas commandé correctement dans les paramètres TCP/IP avancés> DNS.

Personnellement, je préfère utiliser uniquement des adresses de serveur DNS locales sur les postes de travail (propagées par DHCP), pour simplifier la configuration et éviter des problèmes comme celui-ci. Je serais curieux de connaître la justification de la définition du serveur DNS ISPS sur les ordinateurs de bureau. Je ne peux pas imaginer qu'il y ait des raisons de performances valides et que la redondance va que deux suffit à la plupart des réseaux (sinon, ajoutez un tiers).

12
Alex Forbes

J'ai pu résoudre le problème simple en supprimant l'enregistrement DNS et en exécutant les commandes FlushDNS et RegisterDns et qui le corrige. La raison pour laquelle est l'âge de DNS lui-même. Le DNS n'a pas supprimé l'enregistrement après avoir expiré le contrat de location et n'a pas été renouvelé, ce qui ne pouvait pas résoudre le nom car il s'agit de cela. J'espère que cela vous aider à résoudre vos problèmes.

0
Mohamed

Les résultats de nslookup diffèrent de celui de ping à cause de nslookup idiosyngraçages et bugs . Cependant, ils ne sont pas vraiment pertinents pour votre problème principal, ce qui est que vous avez violé la règle que les serveurs DNS de proxy de secours doivent fournir la même vue de l'espace de noms DNS comme votre principal . Le serveur DNS DNS de votre FAI ne fournit pas la même vue de l'espace de noms DNS comme vos propres serveurs DNS proxy sur votre réseau local.

Il semblerait que un autre administrateur système a chuté de la faute du Mon ISP fournit et le documente, donc i doit l'utiliser. FALLACY. ☺

0
JdeBP

TL; DR Version: IPv6 causé le problème de la requête DNS dans mon cas, la désactivation de la résolution du problème de requête DNS.

J'ai eu le même problème sur ma machine de développement. Chaque fois que je me suis connecté à notre réseau d'entreprise, je n'ai pas pu résoudre les noms d'hôte internes, tous les noms d'hôte externes/URIS pourraient être résolus. J'ai vérifié les serveurs DNS attribués sur la connexion VPN et ils ont montré que les serveurs DNS de la société ont été configurés en tant que primaire et secondaire. Je pourrais aussi utiliser nslookup mais devait modifier manuellement le serveur via server X.X.X.X Pour obtenir la résolution DNS.

À la fin, j'ai constaté que IPv6 faisait causer les problèmes avec la résolution du nom: sur chaque requête DNS, les DNS IPv6 ont été interrogés plutôt que les serveurs DNS IPv4. Après désactivation IPv6, vous devez avoir à ipconfig /flushdns Sinon, les adresses précédemment interrogées peuvent toujours être résolues.

0
SaschaM78