MacBook не может использовать интернет, но nslookup и ping работают

12

У меня есть пользователь с новым мощным MacBook Pro, который не может пользоваться Интернетом. Он может подключаться либо к нашей проводной, либо к беспроводной сети и делать такие вещи, как просмотр файловых ресурсов, но не может получить дальше.

Когда я привел машину для тестирования, я обнаружил, что я могу нормально выполнить nslookup, и я могу нормально пропинговать адреса, возвращенные nslookup. Я даже могу открыть веб-страницы, введя IP-адрес в адресную строку напрямую. Однако, когда я пытаюсь пропинговать доменное имя, а не IP-адрес, он просто сидит там. Так что, очевидно, я могу либо разрешить имя, либо общаться по адресу, но не обоим одновременно.

Опять же, эти симптомы возникают как в проводной, так и в беспроводной сети. Другие машины в нашей сети, включая несколько других компьютеров Mac, не имеют этой проблемы.

Есть идеи?

Джоэл Коухорн
источник

Ответы:

8

Является ли mDNSResponderработает? Даже если это так, попробуйте выполнить команду a sudo killall mDNSResponderи launchdперезапустите ее автоматически. (Если вы уже пытались перезагрузить систему, но проблема не исчезла, возможно, причина не в этом.)

В настоящее время mDNSResponder является важной частью инфраструктуры распознавания DNS Mac OS X. Некоторые инструменты, такие как nslookupсодержат собственный код распознавателя DNS или вызывают API-интерфейсы низкого уровня, которые избегают mDNSResponder и используют более традиционную библиотеку распознавателя DNS Unix, но большинство приложений и инструментов, которые просто вызывают обычные API, будут полагаться на mDNSResponder для разрешения имен.

Вы также можете проверить настройку DNS на панели «Сеть» в Системных настройках и посмотреть /etc/resolv.conf(примечание: нет «e» в «resolv»). ipconfig getpacket en0(замените en0 идентификатором BSD-уровня вашего основного сетевого интерфейса), чтобы узнать, какую информацию DNS-сервера ваша машина получает от DHCP. См. Также раздел mDNSResponder(8)«ВХОД» в справочную страницу для получения дополнительных советов по получению информации об устранении неполадок / отладке из mDNSResponder.

Spiff
источник
Это сохранялось после нескольких перезагрузок, но тот факт, что nslookup возвращает адрес, в то время как все остальное, что нужно для разрешения проблемы, по-прежнему указывает на то, что mDNSResponder является хорошим кандидатом для решения проблемы.
Джоэл Коухорн
Удивительно, какая разница в опыте другого года. Я прихожу посмотреть на это сегодня, потому что кто-то голосовал за этот вопрос, и большая часть вашего ответа теперь является для меня второй натурой, где раньше я стрелял вслепую. Тем не менее, я уже говорил об этом раньше, но mDNS / Bonjour - отличная дымящаяся куча, которую Apple никогда не должна использовать в производственном оборудовании.
Джоэл Кохорн
О, и в итоге студент решил эту проблему, прежде чем мы вернули машину, чтобы попробовать это, но теперь, читая симптомы и предложения, я уверен, что это была проблема, и что переустановка службы Bonjour, возможно, была необходима.
Джоэл Коухорн
@Joel Спасибо за продолжение. Приятно слышать, когда Ответ был полезным.
Spiff
2

Я обнаружил, что основной причиной этой проблемы на многих моих компьютерах Mac (ну, в общем, Hackintoshes) был сон / приостановка на диск. Если это не удается, при следующей загрузке mDNSResponder находится в поврежденном состоянии, и sudo killall mDNSResponderкоманда исправляет это.

Кори Ларсон
источник
1

Возможно, вы вручную указали DNS-серверы в настройках Mac? Пожалуйста, проверьте настройки, как показано здесь , удалите все DNS-серверы, которые у вас есть, замените IP-адрес вашей точки доступа (или даже просто оставьте его пустым, DNS должен быть установлен через DHCP).

Андрейс Кайников
источник
DNS устанавливается через dhcp и показывает правильные DNS-серверы.
Джоэл Коухорн
1

Поскольку эта важная, но недостаточно документированная команда изменяется в разных версиях MacOS, я копирую и вставляю ниже список полезных ссылок из

«Самые крутые гиды по планете» Нила Джи https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

Как очистить локальный DNS-кэш (когда URL-адреса не разрешаются так, как вы этого хотите)

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)

а также включает в себя Windows и Linux

SMCI
источник
0

Я действительно боролся с этим и перепробовал все шаги. у меня получалось переходить к настройкам сети и удалять адаптеры Ethernet и аэропорта, а затем заново их добавлять

Райан
источник