Alguns dos meus colegas de trabalho estão tendo problemas em seus Macs - a resolução do DNS não funciona no Mac OS X. Eles estão executando o Snow Leopard 10.6.8. Eles podem usar o DNS em uma máquina virtual Windows 7 (VMware Fusion 3.1.3) em execução no OS X. Os computadores são MacBook Pros de 15 ", modelo do início de 2011.
Coisas que eles tentaram que não funcionaram:
- ligar / desligar o aeroporto
- reiniciando
- usando conexão com fio em vez wifi
- excluir credenciais de conexão e adicioná-lo novamente
- desativando o firewall do Mac
- usando IP estático fixo
- configurando manualmente servidores DNS
- reiniciando o mDNSResponder
- as correções dessa outra pergunta
Resposta EDIT resposta de Martín:
• Você pode executar ping no DNS que deseja usar?
$ ping apple.com
ping: cannot resolve apple.com: Unknown host
• Quais são os endereços IP do (s) DNS (s) que você deseja usar?
Este é um servidor DNS da empresa fornecido com o DHCP, que funciona bem para outras pessoas. Eu também tentei o 8.8.4.4 e o 205.171.3.65 do Google (que achei do DNS Benchmark da GRC o mais rápido).
• Você já tentou usar o 8.8.8.8 (google) ou qualquer um dos OpenDNS 208.67.222.222 ou 208.67.220.220?
Não funciona, veja a saída do Google Chrome:
Não foi possível encontrar o servidor em www.apple.com porque a pesquisa de DNS falhou. DNS é o serviço de rede que traduz o nome de um site em seu endereço na Internet. Esse erro geralmente é causado por não haver conexão com a Internet ou uma rede mal configurada. Também pode ser causado por um servidor DNS que não responde ou por um firewall que impede o Google Chrome de acessar a rede.
• Você pode executar ping os anfitriões?
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from
8.8.8.8: icmp_seq=0 ttl=58 time=3.925 ms
• criando um usuário em branco
Uma conta de usuário convidado foi criada, o problema de DNS ainda estava lá ao usar a conta de convidado.
• nslookup e dig ambos funcionam bem
$ nslookup www.apple.com 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
www.apple.com canonical name = www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net canonical name = www.apple.com.edgekey.net.
www.apple.com.edgekey.net canonical name = e3191.c.akamaiedge.net.
Name: e3191.c.akamaiedge.net
Address: 184.24.141.15
$ dig @8.8.8.8 www.apple.com
; <<>> DiG 9.6.0-APPLE-P2 <<>> @8.8.8.8 www.apple.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11298
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION: ;www.apple.com. IN A
;; ANSWER SECTION:
www.apple.com. 1041 IN CNAME www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net. 38 IN CNAME www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 8794 IN CNAME e3191.c.akamaiedge.net.
e3191.c.akamaiedge.net. 17 IN A 184.24.141.15
;; Query time: 4 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Oct 4 09:25:28 2011
;; MSG SIZE rcvd: 158
• também foi realizada a limpeza do cache DNS, mas não ajudou
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
EDIT 2 :
$ cat /etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain {redacted}.com
nameserver 8.8.8.8
nameserver 208.67.222.222
Respostas:
Acontece que a solução foi devolver o mDNSResponder:
Isso foi obtido por um colega de trabalho diferente nesta pergunta sobre falha no servidor .
OS X 10.10.0 - 10.10.3, Yosemite
Aparentemente , o mDNSResponder não existe no Yosemite (OS X 10.10). Você pode reiniciar o descoveryd para corrigir esses problemas.
OS X 10.10.4+, Yosemite
No OSX 10.10.4, o mDNSResponder foi reintroduzido . Portanto, use o primeiro funcionará novamente.
fonte
Na verdade, acho que você pode querer usar
Esses comandos usam o armazenamento dinâmico em configd, em oposição aos arquivos simples em / etc, que geralmente são lidos apenas no modo de usuário único e para sistemas não em rede.
fonte
Eu experimentei o mesmo problema ... E ao reiniciar o mDNSResponder parece "funcionar", reiniciá-lo algumas vezes a cada hora é uma merda.
Então, por enquanto, "resolvi" o problema executando o dnsmasq localmente. Fazer isso:
make
oubrew install dnsmasq
)Coloque isso em um
dnsmasq.conf
arquivo:Coloque isso em um
resolv.conf
arquivo que esteja no mesmo diretório que odnsmasq.conf
arquivo (nb: not/etc/resolv.conf
):Corra
dnsmasq
comsudo dnsmasq --no-daemon --log-queries -C dnsmasq.conf
. A saída deve ser algo como:Abra Preferências de rede e verifique se esse
127.0.0.1
é o único servidor DNS (preferências de rede -> avançadas -> DNS -> adicione 127.0.0.1)As coisas devem começar a funcionar bem novamente.
Quando as coisas estiverem funcionando, você poderá executar
dnsmasq
sem as opções--no-daemon
e--log-queries
, para que seja iniciado em segundo plano e não seja necessário manter uma janela do Terminal aberta.fonte
openconnect
comando em um script python, junto com comandos comonetworksetup -setdnsservers 127.0.0.1
enetworksetup -setsearchdomains "$COMPANY_NAME".com
. Adicione seudnsmasq
comando e está tudo pronto! Finalmente, tenho uma solução VPN estável, graças a este comentário.A resolução de nomes no OSX (e no UNIX em geral) é obtida dos endereços IP dos DNSs no arquivo localizado em /etc/resolv.conf (que o OS X gera automaticamente até onde me lembro).
Como você tentou praticamente qualquer coisa que me vem à mente, gostaria de perguntar:
Por fim, um teste geralmente agradável consiste em criar um usuário em branco e verificar se esse novo usuário apresenta o mesmo problema. Caso contrário, você pode começar a pesquisar o que o usuário atual tem e que pode estar causando o problema; se também falhar, você sabe que isso é algo mais relacionado ao "sistema".
Dê uma olhada no console para ver se você consegue identificar algo que possa estar relacionado (e gostaria de colar aqui).
Por último, mas não menos importante, o seu Mac vem com dois comandos DNS importantes,
nslookup
edig
.Então, para resolver www.apple.com usando o servidor do Google, digite:
nslookup "host para resolver" "servidor DNS para usar". Por exemplo:
O NSLookup é um comando antigo (que deveria ser descontinuado há alguns anos e substituído pelo DIG, mas acho que a sintaxe fácil de usar era boa demais para matar). Sua "substituição" é
dig
um comando muito mais poderoso, cuja sintaxe é mais louco.Para executar a mesma consulta, digite:
dig @ 8.8.8.8 www.apple.com
E aqui está a saída:
Como você pode ver, o dig é muito mais "detalhado" (o que é bom para depurar o que diabos está acontecendo). O poder da escavação vem do fato de que você pode especificar que tipo de consulta deseja executar (entre outras coisas).
De qualquer forma, informe-nos as saídas exatas desses comandos.
fonte
Eu tinha exatamente os mesmos sintomas (e passava algum tempo solucionando problemas), mas consegui resolvê-lo quando percebi que estava mexendo
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
e o que fiz foi de alguma forma interpretado como malformado. Eu restaurei a partir de um backup e a máquina conseguiu resolver os nomes de host novamente.Antes de chegar à solução, também percebi que era capaz de navegar na Internet se usasse um proxy SOCKS5
ssh -D
e tentasse pesquisas de DNS através do túnel.fonte
com.apple.mDNSResponder.plist
! Fiz como o @TomThorogood sugeriu. Tenho dificuldade em voltar. Mesmo colocando o arquivo de volta e reiniciando, não consegui obter nenhuma resposta da Internet. Osudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
que ajudou.Eu tive um problema muito, muito parecido, exceto que os sintomas eram um pouco diferentes.
Meu usuário não conseguiu resolver nenhum nome (NAS local, Google etc.), mas um usuário convidado no mesmo iMac (OS X 10.7.4) funcionou bem.
Liberar e reiniciar o mDNSResponder conforme mencionado funcionou por um tempo. Embora permanecesse funcionando quando o iMac foi colocado no modo de suspensão, ele sempre falhava após a reinicialização.
Quando a liberação / reinicialização parou de funcionar, procurei outros motivos / soluções e descobri que estava relacionado ao meu firewall. Não sei o que estava causando minhas configurações de firewall (OS X), mas se eu restaurasse a configuração de firewall, funcionaria.
Para restaurar as configurações padrão que usei:
Obviamente, qualquer regra personalizada será removida com esta restauração.
Eu queria compartilhar minha versão desse problema, pois ele me causa dor há meses e esse post é a melhor coleção de soluções possíveis na rede!
fonte
Eu atingi este problema em Yosemite (10.10). Acontece que um daemon de chave
discoveryd
foi morto porque consumia muita CPU.Estranhamente, a reinicialização não fez com que ela fosse reiniciada.
Reiniciei manualmente o serviço com:
e agora está tudo bem.
fonte
Estou tendo o mesmo problema com 10.6.8. A primeira viagem a uma Apple Store resultou na restauração do sistema. Mas, depois disso, o DNS quebrou novamente enquanto eu estava no exterior e não tinha um DVD do sistema comigo. Naquela época, encontrei esse tópico e excluído
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
por @freezedpeanuts e @Tom Thorogood.Ele resolveu o problema, mas, surpreendentemente, o DNS quebrou pela terceira vez alguns dias depois. Eu procurei uma imagem do sistema 10.6.3 e:
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
da imagem do sistema.sudo chown root /System/Library/LaunchDaemons/com.apple.mDNS*
Isso resolveu o problema.
Ele é interrompido periodicamente para mim agora (aproximadamente uma vez por mês), e o procedimento de restauração se resume às etapas acima, exceto que, em vez de reiniciar, você pode:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
fonte
Observe que para qualquer pessoa que ainda tenha problemas, talvez seja necessário remover todos os servidores DNS públicos até que o cache seja limpo.
fonte
Eu aparentemente tinha o mesmo problema que o OP. Usando a ferramenta networksetup, descobri que, para o nome de rede especificado, algum DNS errado foi configurado:
listou 192.168.0.1 como DNS. Usando scutil --dns, obtive resultados comparáveis, listando que o resolvedor nº 2 usava o servidor de nomes [0]: 192.168.0.1.
Usando o comando
Consegui reconfigurar o DNS para a rede especificada e resolver nomes de máquinas locais e globais quando conectado à VPN.
fonte
Isso provavelmente não ajudará ninguém, mas, acidentalmente, há algum tempo, criei um arquivo na pasta, quando um DNS estava inoperante para um domínio específico:
/ etc / resolvedor /
e isso estava impedindo que um nome específico fosse resolvido, dois anos depois.
fonte
scutil --dns
e notei que o resolvedor nº 8 adicionou servidores de nomes personalizados para o meu domínio problemático. Tentei removê-los pelascutil
interface da linha de comandos, mas sem sorte. E então, de alguma forma, me deparei com/etc/resolver
... aleluia! Essa resposta foi muito útil para explicar a idéia de DNS no macOS.No meu caso, tudo estava bem: o mDNSResponder estava funcionando e funcionando,
host
/nslookup
funcionou, ambos/etc/resolv.conf
enetworksetup
relatou os servidores DNS corretos, etc. Apesar de tudo, a resolução do DNS em geral (por exemplo, comping
) inevitavelmente parou de funcionar em algum momento algumas horas depois bota.Esse problema específico pode ser um pouco improvável, mas vou documentá-lo aqui como resposta de qualquer maneira.
Eu só notei quando a máquina começou a ficar mais lenta, mas havia muitos processos idênticos em execução .
sensu-client
especificamente.Nós o configuramos no launchd com este arquivo plist:
A
-b
bandeirasensu-client
faz com que ela fique em segundo plano, agindo como um daemon. No entanto, tudo o quelaunchd
vemos é que o processo original foi encerrado e, de acordo com aKeepAlive
bandeira, ele o reinicia. Isso deixa milhares de processos bifurcados em segundo plano e, mesmo assim, o launchd não será mais sábio para o fato de estar em execução.Acredito que esses milhares de processos (todos
sensu-client
os softwares para os quais criamos uma configuração launchd) possam ter solicitado simultaneamente ao mDNSResponder, resultando efetivamente em uma negação de serviço local do cache DNS . Matar esses processos e consertar a lista dada ao launchd acabou resolvendo o problema.A correção plist foi apenas para remover o
-b
sinalizador (background / daemonise) da chamada sensu-client. Observe que isso não é culpa do sensu; esse pedido foi escrito por um ex-administrador de sistema dessa empresa.fonte
Aqui estão alguns comandos avançados que podem ajudar a solucionar o problema do DNS:
dig
para listar os servidores de nomes raiz.dig example.com
para executar a pesquisa de DNS para oexample.com
domínio.networksetup -listallhardwareports
.ipconfig getpacket en0
.scutil --dns
.mDNSResponder
processo está sendo executado por:ps wuax | grep mDNSResponder
.arp -ad
(executeman arp
para obter ajuda). fontePara depurar o
mDNSResponder
processo, o seguinte comando pode ajudar:O comando acima enviará um
SIGINFO
sinal para o processo que irá despejar os detalhes da depuração na saída do log que pode ser lida e analisada.fonte
Ligar e desligar o Wi-Fi novamente ajudou.
MacBook Pro com 10.9.1
Especialmente se você desligar o wifi e depois reiniciar. O atraso extra e o início sem conexão IP / rede garantem que a solicitação para voltar à rede tenha melhores chances de êxito.
fonte
Infelizmente, nada disso me ajudou e acabou depois de uma hora tentando descobrir e batendo minha cabeça contra a mesa de café ... algo, de alguma forma, em algum lugar ... removeu o
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
arquivo e foi a razão pela qual tive esse problema.Percebi isso quando vi esta mensagem de erro:
/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist: No such file or directory
Aqui está uma cópia de uma versão do El Capitan: https://gist.github.com/tripflex/e7147690d1768dc74b1dd626614573c0
Aqui está o código dessa essência:
fonte
Como se vê, para resolver o problema, você precisa configurar um domínio de pesquisa e adicioná-lo ao campo de domínio de pesquisa em Configuração de DNS das Preferências do Sistema. Basicamente, o domínio de pesquisa funcionará da mesma maneira que .local, mas será.
Você precisa configurar seu domínio de pesquisa como uma zona principal no servidor DNS para que isso funcione.
fonte
Eu tenho um problema semelhante ao encontrar o servidor host. Temos 21 iMacs em execução no servidor (El Capitan, atualizado recentemente) e apenas um não será vinculado. A correção geralmente é bastante simples através de Usuários e Grupos no SysPref. Excluindo o servidor host e vinculando novamente, localizando o servidor disponível na opção suspensa, mas por algum motivo desconhecido, o servidor está listado como
unkown-00-00-12-34-56-78.home
, que eu descobri ser o endereço MAC do servidor. Eu executei isso no terminal:e
retornei para ligar ao servidor no SysPref e a opção correta do nome do servidor apareceu brevemente e depois voltou a "unkown-00-00-12-34-56-78.home" bem na minha frente!
fonte
Ao seguir os comandos da resposta aceita:
você pode receber um aviso:
Você precisa desligá-lo. Instruções completas aqui: https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/
fonte
No meu caso, eu tinha o OpenDNS instalado no passado e ele não foi removido corretamente. Havia vários processos relacionados ao DNS em execução, como DNSdnscrypt-proxy. Não pude forçá-los a sair no Activity Monitor, mas consegui impedi-los de iniciar a reinicialização removendo o arquivo .plist em Library / LaunchDaemons.
fonte
Vá para Configurações -> Rede -> Avançado -> DNS. Em seguida, faça literalmente quaisquer alterações no DNS (reordene suas entradas de DNS, por exemplo). Depois clique em "Ok" seguido de "Aplicar" na próxima tela. Não se iluda pensando que a mudança específica que você fez foi significativa; é a mágica do botão "Aplicar".
fonte
O que funcionou para mim foi remover todas as entradas do servidor de servidores DNS e domínios de pesquisa de:
Preferências do Sistema → Rede → Avançado ... → DNS
fonte
Após a atualização do Snow Leopard em um Mac Book antigo para o Mountain Lion, o sistema não conseguiu resolver o DNS. Rubor, reinicie, nada ajudou. Alterar o WiFi para um ponto de acesso diferente (meu telefone) ajudou.
O Mountain Lion adiciona um novo campo de cliente às configurações de rede DHCP. O preenchimento desse campo pareceu fazer feliz o ponto de acesso wifi. Deixá-lo em branco significava que nada estava acontecendo, mesmo que a conexão wifi parecesse ter sucesso.
fonte