Como Limpar o Cache de DNS no macOS (Sequoia, Sonoma, Ventura)
Aprenda a limpar seu cache de DNS no macOS com um único comando no Terminal. Corrige registros DNS desatualizados após mudanças de domínio, redirecionamentos com problemas e problemas estranhos de resolução.
Problemas de cache de DNS são fáceis de diagnosticar errado. Você atualiza os registros de um domínio, espera a propagação e abre um navegador — mas o site antigo ainda carrega. Ou um site que costumava funcionar de repente se recusa a se conectar. O servidor está bem. Sua internet está bem. O problema é que seu Mac armazenou em cache uma resposta DNS desatualizada e ainda a está servindo.
Limpar o cache de DNS diz ao macOS para esquecer essas respostas armazenadas e perguntar novamente do zero. Leva um comando e cerca de cinco segundos.
Por que seu Mac armazena registros DNS em cache
Toda vez que você visita um site, seu Mac precisa traduzir o nome de domínio (como example.com) em um endereço IP. Essa tradução passa por um processo: seu Mac verifica primeiro seu cache DNS local, depois pergunta a um resolvedor DNS (geralmente do seu provedor ou um público como 1.1.1.1), e se nenhum tiver a resposta, o resolvedor contata o nameserver autoritativo para aquele domínio.
O cache normalmente é uma coisa boa. Torna a navegação mais rápida porque seu Mac pula toda a cadeia de consulta para sites que você visitou recentemente. O problema aparece quando os registros DNS mudam e a resposta em cache do seu Mac ainda aponta para o destino antigo. O TTL (time to live) em um registro DNS informa aos resolvedores por quanto tempo armazenar em cache, mas o macOS nem sempre o respeita com precisão.
Quando uma limpeza de DNS realmente ajuda
Nem todo problema de rede é um problema de cache de DNS. Uma limpeza ajuda quando:
- Você acabou de alterar os registros DNS de um domínio e seu Mac ainda está resolvendo para o IP antigo
- Um site redireciona para o lugar errado mesmo que a mudança de DNS tenha se propagado em todos os outros lugares
- Você mudou de uma VPN ou configuração de DNS personalizada e alguns domínios estão resolvendo incorretamente
- Um domínio que definitivamente existe retorna “servidor não encontrado” na sua máquina, mas resolve bem em outros lugares
Se um site está apenas lento, ou as conexões estão expirando, ou você está obtendo erros TLS, limpar o DNS provavelmente não ajudará. São problemas diferentes.
O comando para limpar o cache de DNS no macOS
O comando é o mesmo nas versões recentes do macOS. Abra o Terminal (encontre-o em Aplicativos > Utilitários, ou pesquise com o Spotlight) e execute:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Digite sua senha quando solicitado. O Terminal não mostrará os caracteres enquanto você digita, o que é normal. Você não verá nenhuma confirmação quando for bem-sucedido, o que também é normal.
Esse comando funciona em:
- macOS Sequoia (15.x)
- macOS Sonoma (14.x)
- macOS Ventura (13.x)
Também funciona no Monterey e Big Sur se você ainda estiver nessas versões.
O comando faz duas coisas. dscacheutil -flushcache limpa o cache de serviços de diretório, que inclui DNS. killall -HUP mDNSResponder envia um sinal para o processo de resposta DNS do macOS, dizendo-o para recarregar. Você precisa dos dois. Executar apenas o dscacheutil costumava ser suficiente nas versões mais antigas do macOS, mas parou de ser suficiente há anos.
O prefixo sudo é necessário porque são operações no nível do sistema. Sem ele, ambos os comandos falharão silenciosamente ou retornarão um erro de permissões.
Verificando se a limpeza funcionou
Após limpar, abra uma nova aba do navegador e visite o domínio com o qual estava tendo problemas. Se o problema era cache desatualizado, você deverá ver o site correto.
Para uma verificação mais definitiva, você pode fazer uma consulta DNS e confirmar se o endereço IP que está obtendo corresponde ao que espera. A ferramenta DNS Lookup do NetUtil torna isso rápido: abra o aplicativo, vá para DNS Lookup, digite o domínio e execute a consulta. O resultado mostra o registro A (endereço IPv4) ou o registro AAAA (IPv6) para o qual seu Mac agora resolve. Se o IP corresponder ao seu registro DNS atualizado, a limpeza funcionou e o novo registro está sendo reconhecido.
Se você vir o IP antigo, o problema não é o seu cache local. Provavelmente ainda está se propagando pelos resolvedores upstream, ou a mudança de DNS ainda não entrou em vigor completamente. Nesse caso, espere alguns minutos e tente novamente.
Você também pode usar o Terminal diretamente com nslookup example.com ou dig example.com para verificar o IP resolvido.
Uma limpeza, feito
Limpar o DNS no macOS é uma linha de comando que leva segundos. O resultado não persiste de nenhuma forma visível, apenas limpa as respostas em cache desatualizadas para que seu Mac comece do zero. Se a mudança de DNS que você está aguardando se propagou, você estará resolvendo corretamente imediatamente após. Se não se propagou, a limpeza ainda não causará nenhum dano, e você pode executá-la novamente quando a propagação se completar.
O NetUtil inclui uma ferramenta de DNS Lookup ao lado de Ping, Traceroute, Whois, Port Scan e Netstat. É um aplicativo gratuito para macOS que substitui o Network Utility que a Apple removeu no macOS Big Sur.