Das MacBook kann das Internet nicht nutzen, aber nslookup und ping funktionieren beide

12

Ich habe einen Benutzer mit einem neuen High-End-MacBook Pro, der das Internet nicht nutzen kann. Er kann sich entweder mit unserem kabelgebundenen oder kabellosen Netzwerk verbinden und z. B. Dateifreigaben durchsuchen, kommt aber nicht weiter.

Als ich den Computer zum Testen einschaltete, stellte ich fest, dass ich einen nslookup-Befehl ausführen und die von nslookup zurückgegebenen Adressen problemlos anpingen kann. Ich kann sogar Webseiten aufrufen, indem ich die IP-Adresse direkt in die Adressleiste eingebe. Wenn ich jedoch versuche, den Domainnamen anstelle der IP-Adresse zu pingen, befindet er sich dort. Anscheinend kann ich also entweder eine Namensauflösung vornehmen oder mit einer Adresse kommunizieren, aber nicht mit beiden gleichzeitig.

Auch diese Symptome treten sowohl im kabelgebundenen als auch im kabellosen Netzwerk auf. Andere Computer in unserem Netzwerk, einschließlich einiger anderer Macs, haben dieses Problem nicht.

Irgendwelche Ideen?

Joel Coehoorn
quelle

Antworten:

8

Ist mDNSResponderläuft? Selbst wenn dies der Fall ist, versuchen Sie es mit a sudo killall mDNSResponderund lassen Sie es launchdautomatisch neu starten. (Wenn Sie bereits versucht haben, das System neu zu starten, und das Problem weiterhin besteht, ist dies wahrscheinlich nicht die Ursache.)

mDNSResponder ist heutzutage ein wichtiger Bestandteil der DNS-Resolver-Infrastruktur von Mac OS X. Einige Tools nslookupenthalten ihren eigenen DNS-Auflösungscode oder rufen APIs auf niedriger Ebene auf, die mDNSResponder vermeiden und eine traditionellere Unix-DNS-Auflösungsbibliothek verwenden. Die meisten Apps und Tools, die nur die normalen APIs aufrufen, verlassen sich jedoch für die Namensauflösung auf mDNSResponder.

Sie können auch überprüfen, wie Sie DNS in der Systemeinstellung /etc/resolv.conf"Netzwerk" konfiguriert haben, und dies überprüfen (Hinweis: kein "e" in "resolv"). ipconfig getpacket en0(Ersetzen Sie en0 durch die BSD-Layer-ID Ihrer primären Netzwerkschnittstelle.) Dies kann hilfreich sein, um festzustellen, welche DNS-Serverinformationen Ihr Computer von DHCP erhält. mDNSResponder(8)Weitere Tipps zum Abrufen von Informationen zur Fehlerbehebung / zum Debuggen von mDNSResponder finden Sie auch im Abschnitt "LOGGING" auf der Manpage.

Spiff
quelle
Dies hat sich über mehrere Neustarts hinweg fortgesetzt, aber die Tatsache, dass nslookup eine Adresse zurückgibt, während alles andere, was eine Lösung erfordert, fehlschlägt, zeigt mDNSResponder immer noch als einen guten Kandidaten für das Problem an.
Joel Coehoorn
Erstaunlich, welchen Unterschied die Erfahrung eines anderen Jahres macht. Ich komme und überprüfe dies heute, weil jemand für die Frage gestimmt hat und der größte Teil Ihrer Antwort jetzt 2. Natur für mich ist, wo ich vorher blind geschossen habe. Das habe ich schon gesagt, aber mDNS / Bonjour ist ein großartiger Haufen Dampf, den Apple niemals in Produktionsanlagen einbauen sollte.
Joel Coehoorn
Oh, und der Student löste das Problem, bevor wir die Maschine zurück hatten, um es zu versuchen, aber ich bin mir sicher, dass dies das Problem war und dass möglicherweise eine Neuinstallation des Bonjour-Dienstes erforderlich war.
Joel Coehoorn
@ Joel Danke für das Follow-up. Es ist schön zu hören, wenn eine Antwort hilfreich war.
Spiff
2

Ich stellte fest, dass die Hauptursache für dieses Problem auf vielen meiner Macs (naja, Hackintoshes) darin bestand, auf der Festplatte zu schlafen / anzuhalten. Wenn dies fehlschlägt, befindet sich der mDNSResponder beim nächsten Start in einem beschädigten Zustand und der sudo killall mDNSResponderBefehl behebt ihn.

Corey Larson
quelle
1

Möglicherweise haben Sie DNS-Server in Ihren Mac-Einstellungen manuell angegeben? Bitte überprüfen Sie Ihre Einstellungen wie hier gezeigt , entfernen Sie alle DNS-Server, die Sie dort haben, ersetzen Sie sie durch Ihre Zugangspunkt-IP (oder lassen Sie sie einfach leer, DNS sollte über DHCP eingestellt werden).

Andrejs Cainikovs
quelle
DNS wird über DHCP eingestellt und zeigt korrekte DNS-Server an.
Joel Coehoorn
1

Da sich dieser entscheidende, aber nicht dokumentierte Befehl in verschiedenen MacOS-Versionen verrückt ändert, kopiere ich die super hilfreiche Referenzliste aus und füge sie unten ein

"COOLEST GUIDES ON THE PLANET" von Neil Gee https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

So leeren Sie den lokalen DNS-Cache (wenn URLs nicht wie gewünscht aufgelöst werden)

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)

und beinhaltet auch Windows und Linux

smci
quelle
0

Ich kämpfte wirklich damit und versuchte alle Schritte. Für mich funktionierte es, die Netzwerkeinstellungen zu ändern und sowohl die Ethernet- als auch die Flughafenadapter zu löschen und sie dann erneut hinzuzufügen

Ryan
quelle