A pesquisa de DNS do Mac OS X parece estar confusa - mas apenas no trabalho

8

As pesquisas de DNS do Mac OS X demoram uma eternidade no Safari e em outros aplicativos que usam o mDNSResponder. As mesmas pesquisas funcionam bem se eu usar o nslookup na linha de comando e também funcionam bem no meu iPhone e iPad na mesma rede sem fio.

E isso é apenas na rede em funcionamento; quando estou em casa ou conectado ao meu iPhone, todas as pesquisas de DNS funcionam bem. Quando estou na rede no trabalho, via Wi-Fi ou Ethernet, tenho esses problemas. Eu tentei usar os seguintes comandos:

launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

Isso costumava fornecer algum alívio temporário (minutos) no Snow Leopard, mas agora, no Lion, ele geralmente não fornece nada.

Nem minhas configurações de Ethernet nem Wi-Fi especificam servidores DNS; eles são preenchidos automaticamente a partir do roteador. Mas tentei especificar o meu, como o DNS do Google ou o OpenDNS, e isso não resolve o problema.

A configuração de rede é um roteador conectado ao modem a cabo, com todas as portas Ethernet do escritório saindo dele. Um roteador wifi Airport Extreme também está conectado ao roteador principal (no modo bridge) e os clientes WiFi se conectam a ele.

Pesquisei em todo o lado e encontrei outras coisas que parecem aplicáveis ​​no início (por exemplo, a pesquisa de DNS falha, mas a pesquisa de ns ) funciona , fazendo-me pensar que esses problemas de mDNSResponder não são muito incomuns, mas nenhum deles corresponde exatamente e suas soluções não trabalhou para mim ainda.

Além disso: não é toda pesquisa de DNS, apenas a maioria. As pesquisas no Google surgem instantaneamente, mas o Google Maps leva uma eternidade para carregar (quando olho para a janela de atividades, geralmente são scripts e outros itens provenientes de algum servidor CDN do Google). Até sites que usamos todos os dias, e você acha que seriam armazenados em cache em algum lugar (como php.net), levam uma eternidade para carregar ou atingir o tempo limite.

Além disso: tudo carrega bem a partir de um navegador em uma máquina virtual Windows XP, o que para mim aponta ainda mais acusadoramente ao mDNSResponder como o culpado - mas tudo funciona bem quando estou em qualquer outra rede.

Charles
fonte
você tentou olhar a saída do opensnoop para ver se diz alguma coisa? Eu também ficaria curioso se você analisasse a saída do tcpdump para ver se há pedidos sendo enviados que não estão sendo respondidos.
polinomial
Analisei os dois, mas não sei exatamente o que devo procurar - não sei o que é um estado de erro. Alguma dica sobre o que pode ser fora do comum?
Charles

Respostas:

4

O motivo para o DNS ser lento no escritório, mas não em casa, pode ser que o roteador do escritório use IPv6, mas o roteador doméstico use IPv4, e que o Lion seja melhor no IPv6 do que o Snow Leopard. Os sites que não são afetados por essa desaceleração provavelmente são os que têm melhor suporte ao IPv6.

Consulte este artigo para obter medidas que mostram que o IPv6 é 2-3 vezes mais lento que o IPv4 no DNS: O IPv6 diminui a velocidade
(DNS)

Se for esse o caso, desabilitar o IPv6 no roteador do escritório (e assim por diante em toda a rede do escritório) pode resolver o problema.

Este artigo também pode ser útil: Como desativar o IPv6 no Mac OS X 10.7 Lion .

harrymc
fonte
2

Eu costumava ter o mesmo problema com o meu MacBook Pro executando 10.6. Eu raramente desligo minha máquina. Basicamente em casa, fecho a tampa, coloco na minha bolsa e levo para o trabalho. No trabalho, abro a tampa e vou embora. O que eu notei é que o OS X não parece fazer essa transição tão perfeitamente quanto eu gostaria. Eu ficaria com DNS lento, grandes quantidades de recursos de rede em espera, etc. O que o corrige é desconectar manualmente de cada rede antes de fechar minha máquina (por exemplo, desligar o aeroporto antes de fechar a tampa). Se eu não fizer isso, meu modo de espera é:

dscacheutil -flushcache

De qualquer maneira, funciona muito bem para mim. Em uma ocasião rara, reinicio a máquina.

C0D3M0NK3Y
fonte
Gareth, acabei de reparar no seu comentário sobre as edições. Voltei e modifiquei todas as minhas respostas de acordo. Me desculpe.
C0D3M0NK3Y
Eu tentei o dscacheutil e reiniciei; não importa o que eu faça, ainda tenho os mesmos problemas na rede de trabalho, mas apenas lá - funciona perfeitamente em casa, desligue minha máquina antes de ir para casa ou apenas a durma como de costume.
Charles
0

Outros Macs funcionam corretamente na rede do escritório?

Verifique se as configurações de rede atribuídas são autoconsistentes. Vi a situação em que um servidor DHCP estava atribuindo um gateway padrão que não estava na sub-rede do cliente. O Windows foi em frente e usou isso, e funcionou bem, mas o MacOS (corretamente!) Se recusou a enviar para um endereço IP que não estava na sub-rede.

Quando a máscara de sub-rede é aplicada ao endereço IP do cliente e ao gateway padrão, os resultados devem ser iguais. Caso contrário, é uma configuração ruim do servidor DHCP.

Isso não parece exatamente a situação exata. O seu Mac está configurado para usar o WiFi e a Ethernet no trabalho? Nesse caso, tente desativar um de cada vez.

Jamie Cox
fonte
O problema do DHCP não deve causar lentidão, a menos que faça com que os pacotes girem e girem na rede do escritório.
harrymc 2/09/11
As configurações de rede parecem boas. O mesmo problema ocorre se eu estiver usando apenas o Wi-Fi, apenas a Ethernet ou ambos.
Charles