MacBook nie może korzystać z Internetu, ale zarówno nslookup, jak i ping działają

12

Mam użytkownika z nowym wysokiej klasy komputerem MacBook Pro, który nie może korzystać z Internetu. Może łączyć się z naszą siecią przewodową lub bezprzewodową i wykonywać takie czynności, jak przeglądanie udziałów plików, ale nie może uzyskać dalszych korzyści.

Kiedy sprowadziłem maszynę do testowania, stwierdziłem, że mogę dobrze wykonać nslookup i mogę pingować adresy zwrócone przez nslookup. Jestem nawet w stanie wyświetlić strony internetowe, wpisując adres IP bezpośrednio w pasku adresu. Jednak gdy próbuję pingować nazwę domeny zamiast adresu IP, po prostu tam jest. Najwyraźniej mogę albo rozpoznać nazwę, albo komunikować się z adresem, ale nie jednocześnie.

Znów objawy te występują zarówno w sieci przewodowej, jak i bezprzewodowej. Inne komputery w naszej sieci, w tym kilka innych komputerów Mac, nie mają tego problemu.

Jakieś pomysły?

Joel Coehoorn
źródło

Odpowiedzi:

8

Jest mDNSResponderuruchomiony? Nawet jeśli tak jest, spróbuj zrobić sudo killall mDNSResponderi pozwól na launchdautomatyczne ponowne uruchomienie. (Jeśli próbowałeś zrestartować system, a problem nadal występował, prawdopodobnie nie jest to przyczyną).

mDNSResponder jest obecnie kluczowym elementem infrastruktury usługi rozpoznawania nazw DNS w systemie Mac OS X. Kilka narzędzi, takich jak nslookupwłasny kod rozpoznawania DNS lub wywoływanie interfejsów API niskiego poziomu, które unikają mDNSResponder i używają bardziej tradycyjnej biblioteki uniksowego mechanizmu rozpoznawania DNS, ale większość aplikacji i narzędzi, które wywołują zwykłe interfejsy API, będzie polegać na rozpoznawaniu nazw przez mDNSResponder.

Możesz także sprawdzić, jak skonfigurowałeś DNS w panelu Sieć w Preferencjach systemowych i spojrzeć na /etc/resolv.conf(uwaga: brak „e” w „resolv”). ipconfig getpacket en0(zamień en0 na identyfikator warstwy podstawowego interfejsu sieciowego BSD) może być przydatne, aby zobaczyć, jakie informacje o serwerze DNS otrzymujesz od DHCP. Zobacz także sekcję „LOGOWANIE” strony podręcznika, mDNSResponder(8)aby uzyskać więcej wskazówek na temat uzyskiwania informacji na temat rozwiązywania problemów / debugowania z mDNSResponder.

Spiff
źródło
Trwało to przez kilka restartów, ale fakt, że nslookup zwraca adres, podczas gdy cokolwiek innego, co wymaga rozwiązania, nadal wskazuje, że mDNSResponder jest dobrym kandydatem na problem.
Joel Coehoorn
Niesamowite, jaką różnicę robi kolejny rok doświadczenia. Przychodzę dziś do przeglądu, ponieważ ktoś głosował na to pytanie, a większość twojej odpowiedzi jest teraz dla mnie drugą naturą, gdzie przedtem strzelałem w ciemno. To powiedziawszy, powiedziałem to już teraz, ale mDNS / Bonjour to świetny parujący stos, którego Apple nigdy nie powinien wypuścić na sprzęt produkcyjny.
Joel Coehoorn,
Och, a uczeń rozwiązał ten problem, zanim mieliśmy maszynę z powrotem, aby to wypróbować, ale czytając teraz objawy i sugestie, jestem pewien, że to był problem i że może być konieczna ponowna instalacja usługi Bonjour.
Joel Coehoorn
@Joel Dzięki za kontynuację. Miło jest usłyszeć, kiedy Odpowiedź była pomocna.
Spiff
2

Odkryłem, że główną przyczyną tego problemu na wielu moich komputerach Mac (cóż, Hackintoshes) było spanie / zawieszanie się na dysku. Jeśli to się nie powiedzie, przy następnym uruchomieniu mDNSResponder jest w stanie uszkodzonym, a sudo killall mDNSResponderpolecenie to naprawia.

Corey Larson
źródło
1

Być może ręcznie określiłeś serwery DNS w ustawieniach Maca? Sprawdź swoje ustawienia, tak jak to pokazano tutaj , usuń wszystkie serwery DNS, które tam masz, zastąp adres IP punktu dostępu (a nawet po prostu pozostaw puste, DNS należy ustawić przez DHCP).

Andrejs Cainikovs
źródło
DNS jest ustawiany przez dhcp i pokazuje prawidłowe serwery dns.
Joel Coehoorn,
1

Ponieważ to kluczowe, ale nieudokumentowane polecenie zmienia się szaleńczo w różnych wersjach MacOS, kopiuję i wklejam poniżej super pomocnej listy referencyjnej z

„NAJLEPSZE PRZEWODNIKI NA PLANECIE” Neila Gee https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

Jak wyczyścić lokalną pamięć podręczną DNS (gdy adresy URL po prostu nie rozwiązują problemu tak, jak tego chcesz)

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)

a także obejmuje Windows i Linux

smci
źródło
0

Naprawdę walczyłem z tym i próbowałem wszystkich kroków. działało dla mnie wchodzenie w preferencje sieciowe i usuwanie zarówno kart Ethernet, jak i kart lotniskowych, a następnie ich ponowne dodawanie

Ryan
źródło