62 votes

Problème de DNS, nslookup fonctionne, ping ne fonctionne pas.

Je suis en train de mettre en place un serveur de développement dans mon appartement. J'ai configuré un serveur DNS Ubuntu sur celui-ci et j'ai ajouté la zone weddinglist (juste weddinglist - pas de nom de domaine). TLD . C'est juste un domaine interne).

Cela fonctionne bien sur mon ordinateur portable Ubuntu.

Sur tous mes PC Windows (Vista et XP), j'obtiens le résultat suivant à partir de l'invite de commande :

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 presque sûr que le DNS est bien configuré car le nslookup est OK mais je ne peux pas faire de ping et je ne peux pas accéder aux pages web de weddinglist.

Comment faire pour que le ping fonctionne pour les PCs Windows ?

73voto

Alnitak Points 143355

Il est possible que le résolveur interne de Windows ajoute '.local' au nom de domaine parce qu'il ne contient pas de points. nslookup ne ferait pas ça.

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


OK, une enquête plus approfondie sur ma propre machine XP à 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 plutôt le NBNS (NetBios Name Service).

En utilisant une astuce trouvée à http://www.chicagotech.net/netforums/viewtopic.php?t=1476 j'ai découvert que je pouvais forcer les recherches DNS pour les domaines à étiquette unique en plaçant une seule entrée lisant "." dans le fichier ". Ajoutez ces suffixes DNS (dans l'ordre) " dans le " Paramètres TCP/IP avancés "Dialogue

47voto

Jamie Cook Points 1669

J'ai eu ce problème occasionnellement en utilisant un nom à étiquettes multiples, par exemple test.internal.

La solution pour moi a été d'arrêter/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.

8voto

Nick Points 21

J'ai le même problème avec IIS qui fonctionne sur mon serveur domestique. Sur la machine cliente, une commande du type ipconfig /flushdns résout généralement le problème.

5voto

Richard Pierre Points 131

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

Il est probable que vous essayez d'envoyer un ping à une machine qui ne se trouve pas dans le même domaine. Lorsque vous envoyez un ping vers le nom pleinement qualifié du serveur, cela devrait 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

Le ping échoue :

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

Le ping fonctionne, en utilisant le FQDN :

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 les paramètres DNS de la machine et ajouter le suffixe DNS à rechercher.

  1. Panneau de contrôle \Network et Internet \Network Connexions
  2. Adaptateur 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 faites pas cela sur une VM, vous perdriez votre connexion, essayez plutôt 'ipconfig /renew').

Advanced TCP/IP Settings

3voto

benc Points 685

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 la résolution de noms NetBIOS pour résoudre les noms d'ordinateurs en d'ordinateur en adresses IP pour les ordinateurs sur le même segment de réseau. Si vos ordinateurs se trouvent sur le même segment réseau, et que NetBIOS sur TCP/IP est désactivé, vous devez installer un serveur DNS et faire en sorte que les ordinateurs s'enregistrer auprès du DNS (ou configurer manuellement manuellement les enregistrements DNS) ou configurer 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 de LMHOSTS

Il existe également un livre qui couvre ce sujet en détail, "Networking Personal Computers with TCP/IP : Building TCP/IP Networks (old O'Reilly book)". Malheureusement, je ne peux pas le rechercher car je me suis débarrassé de mon exemplaire il y a un certain temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X