MacBook ne peut pas utiliser Internet, mais nslookup et ping fonctionnent tous les deux

12

J'ai un utilisateur avec un nouveau MacBook Pro haut de gamme qui ne peut pas utiliser Internet. Il peut se connecter à notre réseau filaire ou sans fil et faire des choses comme parcourir les partages de fichiers, mais ne peut pas aller plus loin.

Lorsque j'ai amené la machine pour les tests, j'ai constaté que je pouvais très bien faire un nslookup et que je pouvais très bien envoyer une requête ping aux adresses renvoyées par nslookup. Je peux même afficher des pages Web en entrant directement l'adresse IP dans la barre d'adresse. Cependant, lorsque j'essaie de cingler le nom de domaine plutôt que l'adresse IP, il se trouve juste là. Donc, apparemment, je peux soit résoudre le nom, soit communiquer avec une adresse, mais pas les deux en même temps.

Encore une fois, ces symptômes se produisent à la fois sur le réseau câblé et sans fil. Les autres machines de notre réseau, y compris quelques autres Mac, ne rencontrent pas ce problème.

Des idées?

Joel Coehoorn
la source

Réponses:

8

Est en mDNSRespondermarche? Même si c'est le cas, essayez de faire un sudo killall mDNSResponderet laissez launchd-le relancer automatiquement. (Si vous avez déjà essayé de redémarrer le système et que le problème persiste, ce n'est probablement pas la cause.)

mDNSResponder est un élément essentiel de l'infrastructure du résolveur DNS de Mac OS X de nos jours. Quelques outils comme nslookupcontiennent leur propre code de résolution DNS ou appellent des API de bas niveau qui évitent mDNSResponder et utilisent une bibliothèque de résolution DNS Unix plus traditionnelle, mais la plupart des applications et des outils qui appellent simplement les API normales s'appuieront sur mDNSResponder pour résoudre les noms.

Vous pouvez également vérifier comment vous avez configuré DNS dans le panneau Réseau des Préférences Système, et regarder /etc/resolv.conf(remarque: pas de «e» dans «resolv»). ipconfig getpacket en0(remplacez en0 par l'identifiant de couche BSD de votre interface réseau principale) peut être utile pour voir quelles informations de serveur DNS votre machine obtient du DHCP. Voir également la section "LOGGING" de la mDNSResponder(8)page de manuel pour plus de conseils sur la façon d'obtenir des informations de dépannage / débogage de mDNSResponder.

Spiff
la source
Cela a persisté à travers plusieurs redémarrages, mais le fait que nslookup renvoie une adresse alors que tout autre élément devant faire échouer la résolution indique toujours que mDNSResponder est un bon candidat pour le problème.
Joel Coehoorn
Incroyable quelle différence l'expérience d'une autre année fait. Je viens de passer en revue cela aujourd'hui parce que quelqu'un a voté pour la question, et la plupart de vos réponses sont maintenant une seconde nature pour moi, où avant je tirais à l'aveugle. Cela dit, je l'ai déjà dit auparavant, mais mDNS / Bonjour est une grande pile fumante qu'Apple n'aurait jamais dû déchaîner dans l'équipement de production.
Joel Coehoorn
Oh, et l'étudiant a fini par résoudre cela avant que nous ayons récupéré la machine pour essayer cela, mais en lisant les symptômes et la suggestion maintenant, je suis certain que c'était le problème, et que la réinstallation du service Bonjour a peut-être été nécessaire.
Joel Coehoorn
@Joel Merci pour le suivi. C'est agréable d'entendre quand une réponse a été utile.
Spiff
2

J'ai trouvé que la cause principale de ce problème sur beaucoup de mes Mac (enfin, Hackintoshes) était en veille / suspendue sur le disque. Si cela échoue, au prochain démarrage, le mDNSResponder est dans un état corrompu et la sudo killall mDNSRespondercommande le corrige.

Corey Larson
la source
1

Peut-être avez-vous spécifié manuellement des serveurs DNS dans vos paramètres Mac? Veuillez vérifier vos paramètres comme indiqué ici , supprimer tous les serveurs DNS que vous pourriez y avoir, remplacer par votre IP de point d'accès (ou même simplement le laisser vide, le DNS doit être défini via DHCP).

Andrejs Cainikovs
la source
Le DNS est défini via DHCP et affiche les serveurs DNS corrects.
Joel Coehoorn
1

Étant donné que cette commande cruciale mais sous-documentée change de façon exaspérante dans différentes versions de MacOS, je copie et colle ci-dessous la liste de référence super utile de

"GUIDES LES PLUS COOLS SUR LA PLANÈTE" par Neil Gee https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

Comment vider le cache DNS local (lorsque les URL ne se résolvent tout simplement pas comme vous le souhaitez)

sudo killall -HUP mDNSResponder (OSX 10.10.4, 10.11.0, macOS Sierra 10.12.0)

sudo discoveryutil mdnsflushcache (OSX 10.10.0 - 10.10.3)

sudo killall -HUP mDNSResponder (OSX 10.9,10.8,10.7)

sudo dscacheutil -flushcache (OSX 10.5,10.6)

et comprend également Windows et Linux

smci
la source
0

J'ai vraiment eu du mal avec cela et j'ai essayé toutes les étapes. ce qui a fonctionné pour moi était d'aller dans les préférences réseau et de supprimer les adaptateurs Ethernet et aéroport, puis de les rajouter

Ryan
la source