web-dev-qa-db-fra.com

Problème DNS, nslookup fonctionne, mais pas le ping

Je suis en train de mettre en place un serveur de développement dans mon appartement. J'ai mis en place un serveur DNS Ubuntu et ajouté la liste de mariage de la zone (juste liste de mariage - pas TLD . C'est juste un domaine interne.)

Cela fonctionne bien sur mon ordinateur portable Ubuntu.

Sur tous mes ordinateurs Windows (Vista et XP), l'invite de commande m'offre ce qui suit:

C:\Users\Giles Roadnight>nslookup weddinglist
Server:  UnKnown
Address:  192.168.0.40

Name:    weddinglist
Address:  192.168.0.41


C:\Users\Giles Roadnight>ping 192.168.0.41

Pinging 192.168.0.41 with 32 bytes of data:
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64
Reply from 192.168.0.41: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.0.41:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\Users\Giles Roadnight>ping weddinglist
Ping request could not find Host weddinglist. Please check the name and try again.

Mon ipconfig:

C:\Users\Giles Roadnight>ipconfig -all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Giles-Desktop
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller
   Physical Address. . . . . . . . . : **-**-**-**-**-**
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::f179:680f:f313:5448%8(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.0.5(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1
   DNS Servers . . . . . . . . . . . : 192.168.0.40
   NetBIOS over Tcpip. . . . . . . . : Enabled

Je suis à peu près sûr que le DNS est configuré correctement, car nslookup fonctionne correctement, mais je ne peux ni cingler, ni accéder aux pages Web de Weddinglist.

Comment puis-je faire fonctionner le ping pour les PC Windows?

60
user42088

Il est possible que le résolveur interne de Windows ajoute «.local» au nom de domaine car il ne contient aucun point. nslookup ne ferait pas cela.

Pour vérifier cette possibilité, installez Wireshark (anciennement Ethereal) sur votre ordinateur client et observez les paquets de requête DNS qui le quittent lorsque vous exécutez la commande ping.


OK, une enquête plus poussée sur mon propre XP ordinateur personnel à la maison révèle que, pour les noms à étiquette unique (c'est-à-dire "foo" ou "foo."), Le système n'utilise pas du tout le DNS, mais utilise NBNS Un service).

En utilisant un indice trouvé à http://www.chicagotech.net/netforums/viewtopic.php?t=1476 , j'ai découvert que je pouvais forcer la recherche DNS de domaines comportant une seule étiquette en mettant une seule entrée en lecture " . " dans "Ajouter ces suffixes DNS (dans l'ordre)" dans la boîte de dialogue "Paramètres TCP/IP avancés"

71
Alnitak

J'ai eu ce problème de temps en temps lors de l'utilisation d'un nom multi-label, par exemple test.internal

La solution pour moi était d’arrêter/de démarrer le dnscache sur ma machine Windows 7. Ouvrez une console en tant qu'administrateur et tapez

net stop dnscache
net start dnscache

puis soupirer et chercher un moyen d’obtenir un Mac comme bureau principal.

47
Jamie Cook

Le même problème survient lorsque IIS est exécuté sur mon serveur domestique. Sur la machine cliente, une commande telle que ipconfig /flushdns résout généralement le problème.

7
Nick

J'ai eu le même problème . Comme souligné par d'autres réponses, ping et nslookup utilisent des mécanismes différents pour rechercher une adresse IP.

Il est fort probable que vous tentiez d'envoyer une requête ping à une machine qui ne se trouve pas sur le même domaine. Lorsque vous envoyez une requête ping au nom complet du serveur, cela devrait alors fonctionner.

nslookup fonctionne:

PS C:\Users\Administrator> nslookup nuget
Server:  ad-01.docs.com
Address:  192.168.10.20

Name:    nuget.docs.com
Address:  192.168.10.17

Ping échoue:

PS C:\Users\Administrator> ping nuget
Ping request could not find Host nuget. Please check the name and try again.

Ping fonctionne en utilisant le nom de domaine complet:

PS C:\Users\Administrator> ping nuget.docs.com

Pinging nuget.docs.com [192.168.70.17] with 32 bytes of data:
Reply from 192.168.10.17: bytes=32 time=1ms TTL=127
Reply from 192.168.10.17: bytes=32 time=2ms TTL=127
Reply from 192.168.10.17: bytes=32 time=2ms TTL=127
Reply from 192.168.10.17: bytes=32 time=2ms TTL=127

Ping statistics for 192.168.10.17:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 2ms, Average = 1ms

Pour résoudre ce problème, vous devez modifier le paramètre DNS de la machine et ajouter le suffixe DNS à la recherche.

  1. Panneau de configuration\Réseau et Internet\Connexions réseau
  2. Carte réseau -> propriétés
  3. IPV4 -> Propriétés
  4. Onglet Général -> Avancé
  5. Onglet DNS
  6. Sélectionnez "Ajouter ces suffixes DNS (dans l'ordre)"
  7. Ajouter les noms de domaine requis
  8. Désactivez, puis activez votre carte réseau (ne le faites pas sur une machine virtuelle, vous perdrez votre connexion, essayez plutôt 'ipconfig/renew')

Advanced TCP/IP Settings

4
Richard Pierre

Je pense que ce comportement peut être désactivé, mais l'aide en ligne de Window n'était pas très claire:

Si vous désactivez NetBIOS sur TCP/IP, vous ne pouvez pas utiliser NetBIOS basé sur la diffusion résolution de nom pour résoudre ordinateur noms en adresses IP pour ordinateurs sur le même segment de réseau. Si ton les ordinateurs sont sur le même réseau segment, et NetBIOS sur TCP/IP est désactivé, vous devez installer un DNS serveur et soit avoir les ordinateurs enregistrez-vous avec DNS (ou manuellement configurez les enregistrements DNS) ou configurez entrées dans le fichier Hosts local pour chaque ordinateur.

Dans Windows XP, il y a une case à cocher:

Paramètres TCP/IP avancés

[] Activer la recherche LMHOSTS

Il existe également un livre qui couvre ce sujet en détail, "Mise en réseau d'ordinateurs personnels avec TCP/IP: création de réseaux TCP/IP (ancien livre O'Reilly)". Malheureusement, je ne peux pas le rechercher car j'ai jeté ma copie il y a quelque temps.

3
benc

Avez-vous une entrée pour liste de mariage dans votre fichier hosts? Vous pouvez le trouver dans:

C:\WINDOWS\system32\drivers\etc

nslookup utilise toujours DNS alors que ping utilise également d'autres méthodes pour rechercher des noms d'hôtes.

2
Stephen Darlington

J'ai trouvé un petit bogue dans Windows Server 2003 R2 EE . Vous savez que lorsque vous spécifiez votre adresse IP dans le NIC (connexions réseau), Windows vous indique que va mettre sa propre ip car c'est un serveur DNS? ça ne fait pas ça ...

J'ai résolu mon problème en écrivant l'adresse DNS manuellement, au lieu de laisser Windows le faire pour moi.

1
juan

Essayez ipconfig/displaydns et cherchez la liste de mariage. S'il est mis en cache en tant que "nom n'existe pas" (probablement en raison d'une recherche échouée par le passé), vous pouvez vider le cache avec ipconfig/flushdns.

nslookup n'utilise pas le cache, mais interroge directement le serveur DNS.

Cela a fonctionné pour moi ..

de https://superuser.com/a/507892

1
Ngobo

J'ai également rencontré ce problème sur un serveur 2012 R2 VM associé à mon domaine AD local. J'ai finalement résolu le problème en retirant la VM du domaine et en la rejoignant.

0
bfhd

FYI - Je suis aux prises avec ce problème depuis 3 heures. tout essayé, vider le DNS, utiliser un proxy, réinitialiser le catalogue à l’aide de netsh et effacer les itinéraires. rien n’a fonctionné, j’ai donc décidé de donner à Windows restauration l’essayer, je l’ai fait avec un CD de Windows -> réparation -> restauration du système et tout a fonctionné! impossible de trouver des solutions en ligne, donc je me suis dit que je pouvais le poster

0
Anton T

J'ai aussi rencontré ce problème. Aucune application Windows (à l'exception de Chrome) ne peut accéder à Internet. J'ai trouvé que c'était une adresse IP en double sur le réseau local. J'ai changé l'adresse IP locale et tout, y compris le ping, a recommencé à fonctionner.

J'ai trouvé le problème en faisant un 

IPCONFIG /ALL

et il a énuméré 

Adresse IPv4. . . . . . . . . . . : 10.10.0.20 (en double)

0
james smith

Je pense que le problème peut être dû au NAT. Normalement, les clients DNS font des demandes via UDP. Mais lorsque le serveur DNS est derrière le NAT, les demandes UDP ne fonctionneront pas.

0
igortche

Si vous pouvez envoyer une requête ping au nom de domaine complet, examinez la configuration de la dévolution DNS sur le PC.

Winsock API pour laquelle MS ping utilise automatiquement le nom de domaine complet du PC client si le suffixe DNS principal et spécifique à la connexion est coché dans les paramètres DNS avancés TCP/IP. Si l'hôte se trouve dans un autre domaine, le client doit effectuer une dévolution DNS.

Sous XP propriétés avancées TCP/IP DNS, assurez-vous que l'option ajouter les suffixes parent est cochée de sorte que la demande ping repasse du domaine au parent. 

0
Lenny

Je sais que ce n'est pas votre problème spécifique, mais j'ai rencontré les mêmes problèmes lorsque j'ai configuré une adresse IP statique dans les paramètres de la carte réseau et que j'ai oublié d'entrer une "passerelle par défaut".

En laissant le champ vide, l'icône du réseau indique une connexion Internet. Je pouvais envoyer une requête ping aux serveurs internes mais pas aux serveurs externes. J'ai donc supposé qu'il s'agissait d'un problème de DNS. NSLookup fonctionnait toujours, mais bien sûr, ping n'a pas réussi à trouver le serveur (encore une fois, cela ressemblait à un problème de DNS.) Quoi qu'il en soit, une dernière chose à vérifier. = P

0
Jeff Ward