O MacBook não pode usar a Internet, mas nslookup e ping funcionam

12

Eu tenho um usuário com um novo MacBook Pro de última geração que não pode usar a Internet. Ele pode se conectar à nossa rede com ou sem fio e fazer coisas como navegar nos compartilhamentos de arquivos, mas não pode avançar mais.

Quando trouxe a máquina para teste, descobri que era possível executar uma nslookup muito bem e sou capaz de executar ping nos endereços retornados pela nslookup. Sou capaz de exibir páginas da Web inserindo o endereço IP diretamente na barra de endereços. No entanto, quando tento executar ping no nome do domínio em vez do endereço IP, ele fica lá. Então, aparentemente, eu posso resolver o nome ou me comunicar com um endereço, mas não os dois ao mesmo tempo.

Novamente, esses sintomas ocorrem na rede com e sem fio. Outras máquinas em nossa rede, incluindo alguns outros Macs, não têm esse problema.

Alguma ideia?

Joel Coehoorn
fonte

Respostas:

8

Está mDNSRespondercorrendo? Mesmo que seja, tente fazer um sudo killall mDNSRespondere deixe launchd-o reiniciar automaticamente. (Se você já tentou reiniciar o sistema e o problema persistiu, provavelmente esta não é a causa.)

Atualmente, o mDNSResponder é uma parte crítica da infraestrutura de resolvedores de DNS do Mac OS X. Algumas ferramentas, como nslookupo próprio código do resolvedor de DNS, ou chamam APIs de baixo nível que evitam o mDNSResponder e usam uma biblioteca de resolvedores DNS mais tradicional do Unix, mas a maioria dos aplicativos e ferramentas que apenas chamam as APIs normais dependerão do mDNSResponder para resolver o nome.

Você também pode verificar como você configurou o DNS no painel Rede, em Preferências do sistema, e veja /etc/resolv.conf(note: no 'e' em "resolv"). ipconfig getpacket en0(substitua en0 pelo identificador da camada BSD da interface de rede principal) pode ser útil para ver quais informações do servidor DNS sua máquina está recebendo do DHCP. Consulte também a seção "LOGGING" da mDNSResponder(8)página de manual para obter mais dicas sobre como obter informações de solução de problemas / depuração do mDNSResponder.

Spiff
fonte
Isso persistiu em várias reinicializações, mas o fato de o nslookup retornar um endereço, enquanto qualquer outra coisa que precise fazer a resolução falhar ainda indica o mDNSResponder como um bom candidato para o problema.
Joel Coehoorn
Incrível que diferença a experiência de mais um ano faz. Venho revisar isso hoje porque alguém votou na pergunta e a maior parte de sua resposta agora é de segunda natureza para mim, onde antes eu estava atirando às cegas. Dito isso, eu já disse isso antes, mas o mDNS / Bonjour é uma grande pilha de vapor que a Apple nunca deveria ter lançado em equipamentos de produção.
Joel Coehoorn
Ah, e o aluno acabou resolvendo isso antes que tivéssemos a máquina de volta para tentar, mas lendo os sintomas e a sugestão agora, tenho certeza de que esse era o problema e que talvez fosse necessário reinstalar o serviço Bonjour.
Joel Coehoorn
@ Joel Obrigado pelo acompanhamento. É bom saber quando uma resposta foi útil.
Spiff
2

Eu descobri que a causa raiz desse problema em muitos dos meus Macs (bem, Hackintoshes) estava dormindo / suspendendo no disco. Se isso falhar, na próxima inicialização, o mDNSResponder estará em um estado corrompido e o sudo killall mDNSRespondercomando o corrigirá.

Corey Larson
fonte
1

Talvez você tenha especificado servidores DNS manualmente nas configurações do seu Mac? Por favor, verifique suas configurações conforme mostrado aqui , remova todos os servidores DNS que você tiver, substitua pelo IP do seu ponto de acesso (ou apenas deixe em branco, o DNS deve ser definido via DHCP).

Andrejs Cainikovs
fonte
O DNS é definido via dhcp e mostra os servidores DNS corretos.
Joel Coehoorn
1

Como esse comando crucial, porém mal documentado, muda irritantemente em diferentes versões do MacOS, copio e colo abaixo da lista de referência super útil de

"GUIAS MAIS FELIZES DO PLANETA", de Neil Gee https://coolestguidesontheplanet.com/clear-the-local-dns-cache-in-osx/

Como limpar o cache do DNS local (quando os URLs não estão resolvendo da maneira que você deseja)

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)

e também inclui Windows e Linux

smci
fonte
0

Eu realmente lutei com isso e tentei todas as etapas. o que funcionou para mim foi acessar as preferências de rede e excluir os adaptadores Ethernet e de aeroporto e adicioná-los novamente

Ryan
fonte