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


9

J'ai un utilisateur sur Windows 7 qui essaie 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 serveur principal et secondaire, puis nos fournisseurs de services Internet DNS en tant que serveur DNS tertiaire.

De temps en temps, l'utilisateur ne peut pas accéder au site Web à windows.cs. Si je le ping, il dit qu'il ne peut pas résoudre le nom d'hôte. Je vide le cache DNS, puis lorsque j'affiche le cache DNS, il présente les éléments suivants:

windows.cs - Le nom n'existe pas

Pourtant, si j'utilise nslookup, qui interroge par défaut le serveur DNS principal (notre interne) et que je recherche windows.cs, il renvoie la bonne adresse IP.

Alors pourquoi Windows ne peut-il pas résoudre le nom d'hôte à l'aide de la commande ping, mais il peut le faire lors de l'utilisation de l'outil nslookup? Et comment puis-je résoudre ce problème?


1
+1, j'ai souvent ce problème ... même avec des noms d'hôtes que j'utilisais il y a 5 minutes!
Brad

Réponses:


12

Il ressort de ce que vous dites que la demande de windows.cs va de temps en temps au serveur DNS des FAI. Le résultat nxdomain est ensuite mis en cache par le client DNS de Windows, et donc utilisé pour toutes les tentatives avec un navigateur Web, ping, etc. ne reviendra pas sur le serveur DNS du FAI.

La raison pour laquelle ping ne peut pas résoudre le nom d'hôte mais nslookup le peut parce que nslookup est un outil de bas niveau qui contourne le client DNS Windows. Il utilise le serveur DNS auquel vous le lui dites (le premier par défaut) et effectue la requête à la volée. Vous pouvez modifier le serveur DNS qu'il interroge en tapant à server <host>partir de l'invite nslookup, où l'hôte est l'IP ou le FQDN.

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

Il n'est pas immédiatement évident pourquoi le client Windows utilise le serveur DNS du FAI. Peut-être qu'il n'a pas pu résoudre le serveur local récemment (peut-être en raison d'un autre réseau), peut-être que le serveur local renvoyait des erreurs. Ou, peut-être qu'il n'est pas commandé correctement sous Paramètres avancés TCP / IP> DNS.

Personnellement, je préfère utiliser uniquement les adresses de serveurs DNS locaux 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 configuration du serveur DNS des FAI sur les ordinateurs de bureau. Je ne peux pas imaginer qu'il y ait des raisons de performances valables, et en ce qui concerne la redondance, deux suffisent sur la plupart des réseaux (sinon ajoutez un troisième).


Vous soulevez un bon point. Il n'y a aucune raison particulière pour laquelle le serveur DHCP l'affecte en tant que tertiaire. Et cela semble être une explication raisonnable pour expliquer pourquoi cela ne se résout pas (mais pourquoi cela va au 3ème serveur DNS ?? qui sait ..). Merci pour la direction. Je vais supprimer le serveur DNS public du serveur DNS attribué via DHCP et voir si cela résout le problème. Les serveurs DNS internes doivent transmettre toutes les requêtes auxquelles ils ne peuvent pas répondre de toute façon à ce serveur DNS, donc cela ne devrait pas être un problème.
Safado

Mise à jour: cela semble avoir résolu notre problème. Merci pour la suggestion!
Safado

0

Les résultats de nslookupdiffèrent de ceux de à pingcause des particularités nslookupet des bogues . Cependant, ils ne sont pas vraiment pertinents pour votre problème principal, à savoir que vous avez violé la règle selon laquelle vos serveurs DNS proxy de secours doivent fournir la même vue de l'espace de noms DNS que celle de votre principal . Le serveur DNS proxy de votre FAI ne fournit pas la même vue de l'espace de noms DNS que vos propres serveurs DNS proxy sur votre réseau local.

Il semblerait qu'un autre administrateur système soit tombé sous le coup de la fourniture et de la documentation de My ISP, donc je dois l' utiliser. erreur. ☺


Donc, en termes simples, vous dites ne pas attribuer de serveurs DNS à mes utilisateurs à moins que je sache que ces serveurs DNS ont les mêmes informations? Vos liens ne fonctionnent pas.
Safado

0

TL; version DR: IPv6 a causé le problème de requête DNS dans mon cas, sa désactivation a résolu le 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 connectais à notre réseau d'entreprise, je ne pouvais pas résoudre les noms d'hôte internes, tous les noms d'hôte / URI externes pouvaient être résolus. J'ai vérifié les serveurs DNS qui avaient été attribués sur la connexion VPN et ils ont montré que les serveurs DNS de l'entreprise étaient configurés comme principaux et secondaires. Je pouvais également utiliser nslookupmais j'ai dû changer manuellement le serveur via server X.X.X.Xpour obtenir la résolution DNS.

En fin de compte, j'ai trouvé que IPv6 était à l'origine des problèmes de résolution de nom: sur chaque requête DNS, le DNS IPv6 était interrogé plutôt que les serveurs DNS de la société IPv4. Après avoir désactivé IPv6, vous devez ipconfig /flushdnssinon les adresses précédemment interrogées peuvent toujours ne pas être résolues.


0

J'ai pu résoudre le problème simplement en supprimant l'enregistrement DNS et en exécutant les commandes flushdns et registerdns et cela le corrige. la raison pour laquelle est le agein sur DNS lui-même. Le DNS n'a pas supprimé l'enregistrement après l'expiration du bail et n'a pas été renouvelé, ce qui n'a pas pu résoudre le nom, car il est plus ancien. J'espère que cela vous aidera à résoudre vos problèmes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.