Como Limpar o Cache DNS no Windows, macOS e Chrome
Limpar o cache DNS força o seu sistema operativo ou browser a descartar os registos DNS armazenados localmente e a obter novos mapeamentos dos servidores de nomes autoritativos. Esta única operação resolve uma surpreendente variedade de falhas de conectividade — desde erros ERR_NAME_NOT_RESOLVED até registos IP desatualizados deixados após uma migração de servidor.
O que é um cache DNS? É uma base de dados temporária e local mantida pelo seu sistema operativo (e separadamente por alguns browsers) que armazena os resultados de pesquisas DNS anteriores. Cada vez que resolve um nome de host como example.com, o endereço IP resultante é armazenado juntamente com um contador TTL (Time To Live). Até que esse TTL expire, o seu sistema ignora completamente o resolver upstream e utiliza o registo em cache — o que é rápido, mas torna-se um problema no momento em que esse registo fica desatualizado, é envenenado ou aponta para um servidor desativado.
Por Que o Cache DNS Se Torna um Problema
Compreender os modos de falha deixa claro por que a limpeza é por vezes a única solução correta:
- Migração de servidor ou alteração de IP: Quando um site é movido para uma nova infraestrutura, os seus registos DNS são atualizados com um novo registo A ou AAAA. Se o seu cache local ainda contiver o IP antigo, cada pedido vai para o host errado — resultando frequentemente num timeout de ligação ou num erro de incompatibilidade de certificado TLS.
- Envenenamento do cache DNS: Malware e ataques man-in-the-middle podem injetar registos fraudulentos no seu cache local, redirecionando silenciosamente o tráfego para servidores controlados por atacantes. Limpar o cache remove imediatamente as entradas envenenadas.
- Cache negativo: Uma pesquisa DNS falhada (resposta NXDOMAIN) também é armazenada em cache. Se um domínio estava temporariamente inacessível e o resultado negativo foi armazenado em cache, o seu sistema recusará resolvê-lo novamente até que o TTL negativo expire — mesmo depois de o domínio voltar a estar online.
- Conflitos de DNS split-horizon: Programadores que trabalham com substituições
/etc/hostslocais ou resolvers atribuídos por VPN encontram frequentemente entradas de cache desatualizadas que substituem o seu encaminhamento pretendido. - Artefactos após desconexão de VPN: Entradas DNS residuais de uma sessão VPN podem persistir após a desconexão, causando fugas de DNS ou falhas de encaminhamento na rede local.
Como Limpar o Cache DNS no Windows
O procedimento é idêntico no Windows 7, 8, 10 e 11. A única diferença significativa é se prefere a Linha de Comandos ou o PowerShell.
Método 1: Linha de Comandos (ipconfig /flushdns)
- Prima
Win + R, escrevacmd, depois primaCtrl + Shift + Enterpara iniciar a Linha de Comandos com privilégios de administrador. Em alternativa, pesquise Linha de Comandos no menu Iniciar, clique com o botão direito e selecione Executar como administrador. - Execute o comando de limpeza:
ipconfig /flushdns- Uma limpeza bem-sucedida retorna:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.Se vir um erro, certifique-se de que abriu a linha de comandos com privilégios elevados. As sessões de utilizador padrão não têm acesso de escrita ao cache do serviço DNS Client.
Método 2: Windows PowerShell
O PowerShell expõe um cmdlet dedicado que interage diretamente com o serviço DNS Client em vez de encaminhar através da interface legada ipconfig.
- Prima
Win + Xe selecione Windows PowerShell (Admin) ou Terminal (Admin) no Windows 11. - Execute:
Clear-DnsClientCacheNão há saída de confirmação em caso de sucesso — o comando retorna silenciosamente. Para verificar se o cache está vazio, execute Get-DnsClientCache imediatamente a seguir; não deverá retornar resultados.
Método 3: Reiniciar o Serviço DNS Client
Em casos raros em que os comandos acima falham — normalmente devido a um estado corrompido do serviço DNS Client — reiniciar o próprio serviço limpa o cache como efeito secundário:
Stop-Service -Name Dnscache -Force
Start-Service -Name DnscacheAviso importante: Em algumas configurações do Windows, o serviço DNS Client está definido como dependência de outros serviços de rede. Pará-lo pode interromper brevemente a conectividade de rede. Não execute isto num servidor de produção sem uma janela de manutenção.
Ver o Cache DNS Atual (Windows)
Antes de limpar, é frequentemente útil inspecionar o que está em cache para confirmar se um registo desatualizado é realmente a causa do problema:
Get-DnsClientCacheIsto apresenta todas as entradas em cache com o seu TTL, tipo de registo e dados resolvidos — muito mais valor de diagnóstico do que limpar às cegas.
Como Limpar o Cache DNS no macOS
O macOS utiliza mDNSResponder como daemon do serviço DNS em todas as versões modernas. O mecanismo de limpeza manteve-se consistente desde o macOS Sierra, mas versões mais antigas requeriam comandos diferentes.
macOS Ventura, Monterey, Big Sur, Catalina, Mojave, High Sierra, Sierra (10.12 e posterior)
- Abra o Terminal via
Applications > Utilities > Terminalou primaCmd + Spacee escrevaTerminal. - Execute:
sudo killall -HUP mDNSResponder- Introduza a sua palavra-passe de administrador quando solicitado. O campo de palavra-passe não mostrará os caracteres — este é o comportamento esperado. Prima
Enterpara confirmar.
Não há mensagem de sucesso. O sinal -HUP instrui o mDNSResponder a recarregar a sua configuração e a limpar o cache sem um reinício completo.
macOS El Capitan e Yosemite (10.11 / 10.10)
O El Capitan utiliza o mesmo comando mDNSResponder acima indicado. O Yosemite substituiu brevemente o mDNSResponder pelo discoveryd, requerendo uma abordagem diferente:
sudo discoveryutil udnsflushcachesmacOS Mavericks, Mountain Lion e Lion (10.9 e anterior)
sudo killall -HUP mDNSResponderLimpar as Camadas Adicionais de Cache DNS no macOS
O macOS mantém mais do que um cache DNS. Para uma limpeza completa — particularmente relevante ao depurar problemas de DNS split ou mDNS — execute os três comandos em sequência:
sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcachedscacheutil -flushcache limpa o cache dos Serviços de Diretório, que armazena dados adicionais de resolução de nomes utilizados por processos ao nível do sistema. Omiti-lo pode deixar entradas residuais que o mDNSResponder sozinho não remove.
Como Limpar o Cache DNS no Google Chrome
O Chrome mantém o seu próprio cache DNS interno que opera de forma completamente independente do resolver ao nível do sistema operativo. Esta é uma decisão arquitetural deliberada — a pilha de rede do Chrome (construída sobre a biblioteca net:: do Chromium) pré-resolve domínios que prevê que irá visitar e armazena esses resultados em processo. Isto significa que pode limpar o cache DNS do sistema operativo e o Chrome continuará a servir registos desatualizados do seu próprio armazenamento.
Passo a Passo: Limpar o Cache DNS do Chrome
- Abra o Google Chrome.
- Na barra de endereço, navegue para:
chrome://net-internals/#dns- Clique no botão Clear host cache. Isto limpa imediatamente todas as entradas DNS mantidas no cache em processo do Chrome.
Redefinir os Pools de Sockets do Chrome
As entradas de cache DNS e as ligações TCP/TLS abertas são preocupações separadas. Se limpou o cache DNS mas o Chrome ainda está a encaminhar tráfego através de uma ligação antiga (por exemplo, após uma alteração de IP do servidor), também deve limpar o pool de sockets:
- Navegue para:
chrome://net-internals/#sockets- Clique em Flush socket pools.
Isto fecha todas as ligações keep-alive inativas e ativas, forçando o Chrome a restabelecer novas ligações TCP utilizando os endereços IP recentemente resolvidos.
Reiniciar o Chrome Após a Limpeza
Feche completamente todas as janelas do Chrome e reabra o browser. No macOS, certifique-se de que o Chrome não está ainda a correr em segundo plano via Dock — clique com o botão direito no ícone e selecione Quit em vez de apenas fechar a janela.
Comparação de Cache DNS: Nível do Sistema Operativo vs. Nível do Browser
| Propriedade | Cache DNS do Sistema Operativo | Cache DNS do Chrome |
|---|---|---|
| — | — | — |
| Âmbito | Todas as aplicações a nível do sistema | Apenas o browser Chrome |
| Comando de limpeza (Windows) | `ipconfig /flushdns` | `chrome://net-internals/#dns` |
| Comando de limpeza (macOS) | `sudo killall -HUP mDNSResponder` | `chrome://net-internals/#dns` |
| Respeita as definições de TTL do sistema operativo | Sim | Parcialmente (utiliza a sua própria lógica de TTL) |
| Afetado por alterações de DNS via VPN | Sim | Não imediatamente |
| Visível para ferramentas de diagnóstico | `Get-DnsClientCache`, `dscacheutil -cachedump` | Apenas via internos do Chrome |
| Limpo ao reiniciar o sistema | Sim | Sim (memória em processo) |
| Limpo ao reiniciar o browser | Não | Sim |
Comandos de Limpeza por Plataforma de Relance
| Plataforma / Versão | Comando |
|---|---|
| — | — |
| Windows (todas as versões) | `ipconfig /flushdns` |
| Windows PowerShell | `Clear-DnsClientCache` |
| macOS 10.12 e posterior | `sudo killall -HUP mDNSResponder` |
| macOS Yosemite (10.10) | `sudo discoveryutil udnsflushcaches` |
| macOS (limpeza completa) | `sudo killall -HUP mDNSResponder && sudo dscacheutil -flushcache` |
| Google Chrome (todos os sistemas operativos) | `chrome://net-internals/#dns` > Clear host cache |
| Linux (systemd-resolved) | `sudo systemd-resolve –flush-caches` |
| Linux (nscd) | `sudo service nscd restart` |
O Linux está incluído aqui porque os administradores que gerem ambientes de VPS Hosting frequentemente precisam de limpar caches DNS tanto na sua estação de trabalho local como no servidor remoto simultaneamente ao propagar alterações de DNS.
Erros Comuns Que a Limpeza do Cache DNS Resolve
ERR_NAME_NOT_RESOLVED— O Chrome não consegue resolver o nome do host. Quase sempre um problema de DNS; limpe os caches do sistema operativo e do Chrome.DNS_PROBE_FINISHED_NXDOMAIN— O resolver retornou uma resposta de domínio inexistente. Pode ser uma entrada de cache negativo desatualizada.ERR_CONNECTION_TIMED_OUTapós uma migração de servidor — O IP antigo ainda está em cache. Limpe o cache do sistema operativo e verifique comnslookupoudigque o novo IP está a ser retornado.- Erros de incompatibilidade de certificado TLS/SSL — Se o IP em cache aponta para um servidor diferente daquele que detém o certificado correto, obterá um erro de incompatibilidade de nome de certificado. Isto é comum quando um domínio muda entre fornecedores de alojamento. Se gere infraestrutura SSL, certifique-se de que os seus Certificados SSL estão provisionados na origem correta antes de o TTL do DNS expirar.
- Erros 404 intermitentes após uma migração de CMS — O site carrega, mas os recursos ou páginas retornam 404. Frequentemente causado pelo CDN ou proxy reverso que ainda resolve para a origem antiga. Limpe os caches em cada camada.
Propagação de DNS vs. Cache Local: Uma Distinção Crítica
Um equívoco comum é que limpar o cache DNS local tornará um registo DNS recentemente publicado imediatamente visível. Não tornará — se o resolver recursivo upstream (o servidor DNS do seu ISP ou um resolver público como 8.8.8.8) também tiver armazenado em cache o registo antigo, continuará a receber o IP antigo até que o cache desse resolver expire.
O fluxo de trabalho de diagnóstico correto é:
- Verifique o registo autoritativo diretamente usando
dig @8.8.8.8 example.com Aounslookup example.com 1.1.1.1. - Se o registo autoritativo estiver correto mas a sua resolução local estiver errada, limpe o cache do sistema operativo local.
- Se o próprio registo autoritativo ainda estiver errado, o problema está ao nível do registador de DNS ou do painel de controlo de alojamento — não no cache local.
Ao gerir DNS para domínios alojados em Servidores Dedicados, defina sempre um TTL baixo (300 segundos) pelo menos 24 horas antes de uma migração planeada. Isto minimiza a janela de propagação e reduz o impacto das entradas de cache desatualizadas em toda a internet.
Implicações de Segurança da Gestão do Cache DNS
O envenenamento do cache DNS (também conhecido como DNS spoofing) é uma classe de ataque em que um adversário injeta registos A ou CNAME maliciosos no cache de um resolver, redirecionando utilizadores para servidores fraudulentos. Embora o DNSSEC forneça validação criptográfica ao nível do protocolo, a higiene do cache local continua a ser uma medida prática de primeira resposta.
Se suspeitar que o seu cache DNS foi envenenado:
- Limpe o cache local imediatamente usando o comando apropriado para o seu sistema operativo.
- Mude para um resolver com validação DNSSEC como o Cloudflare (
1.1.1.1) ou o Google (8.8.8.8). - Inspecione os processos em execução em busca de malware que possa estar a modificar o ficheiro
hosts(C:WindowsSystem32driversetchostsno Windows,/etc/hostsem sistemas Unix). - Verifique as definições de DNS do seu router — atacantes que comprometem um router podem redirecionar todas as consultas DNS na rede independentemente do estado do cache local.
Para empresas que gerem a sua própria infraestrutura de correio eletrónico, a integridade do DNS é especialmente crítica. Registos DNS mal configurados ou envenenados afetam diretamente a validação de SPF, DKIM e DMARC. Se depende de serviços de Email Hosting, verifique se os registos MX, SPF e DKIM resolvem corretamente após qualquer alteração de DNS.
Automatizar Limpezas do Cache DNS
Para programadores e administradores de sistemas que trabalham regularmente com alterações de DNS — particularmente durante a configuração de Painéis de Controlo VPS, mudanças de ambiente de staging ou migrações de domínio — automatizar a limpeza remove completamente o passo manual.
Tarefa agendada do Windows (PowerShell):
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-Command Clear-DnsClientCache"
$trigger = New-ScheduledTaskTrigger -Daily -At "03:00AM"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "FlushDNSCache" -RunLevel Highestplist launchd do macOS (limpeza diária às 3h):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.local.flushdns</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>killall -HUP mDNSResponder</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>Guarde este ficheiro em ~/Library/LaunchAgents/com.local.flushdns.plist e carregue-o com launchctl load ~/Library/LaunchAgents/com.local.flushdns.plist.
As limpezas automatizadas são mais úteis em pipelines CI/CD onde os registos DNS são atualizados programaticamente como parte de um fluxo de trabalho de implementação, e os agentes de build devem resolver os novos registos imediatamente após a aplicação da alteração.
Matriz de Decisão Técnica: Quando Limpar e Onde
| Sintoma | Limpar Cache do Sistema Operativo | Limpar Cache do Chrome | Limpar Cache do Router | Verificar Resolver Upstream |
|---|---|---|---|---|
| — | — | — | — | — |
| Site carrega no Firefox mas não no Chrome | Não | Sim | Não | Não |
| Site inacessível em todos os browsers | Sim | Sim | Não | Sim |
| Site inacessível em todos os dispositivos da rede | Sim | Sim | Sim | Sim |
| IP correto mostrado por `nslookup` mas o site continua a falhar | Não | Sim (sockets) | Não | Não |
| Site carrega para colegas mas não para si | Sim | Sim | Não | Sim |
| Acabou de concluir uma migração de servidor | Sim | Sim | Não | Sim |
| Suspeita de envenenamento DNS | Sim | Sim | Sim | Sim |
Lista de Verificação Prática Antes e Após a Limpeza
- Confirme que a alteração de DNS se propagou para os servidores autoritativos usando
digou uma ferramenta online comowhatsmydns.netantes de limpar localmente. - Anote o TTL atual do registo que está a resolver — se for 86400 segundos (24 horas), limpar localmente apenas o ajuda a si; outros utilizadores continuarão a ver o registo antigo durante até 24 horas.
- No Windows, execute
ipconfig /displaydnsantes de limpar para capturar um instantâneo do estado atual do cache para fins de diagnóstico. - Após a limpeza, use
nslookup example.comouping example.compara confirmar que o novo IP está a ser retornado antes de abrir o browser. - Se trabalhar num ambiente de Alojamento Web Partilhado, lembre-se de que os servidores de nomes do fornecedor de alojamento também armazenam registos em cache — contacte o suporte se a propagação parecer estar bloqueada ao nível do servidor.
- Para o Chrome especificamente, após limpar o cache DNS, limpe também o pool de sockets e realize um recarregamento forçado (
Ctrl + Shift + Rno Windows/Linux,Cmd + Shift + Rno macOS) para contornar também o cache HTTP do browser. - Documente a limpeza num registo de alterações se realizada num ambiente de produção — as alterações de DNS e as limpezas de cache são frequentemente ignoradas ao diagnosticar problemas pós-implementação dias depois.
FAQ
Limpar o cache DNS afeta a velocidade de navegação?
Temporariamente, sim. Após uma limpeza, o seu sistema deve realizar novas pesquisas DNS para cada nome de host que contacta, o que adiciona uma pequena sobrecarga de latência (tipicamente 20–100ms por pesquisa) até que o cache se repovoue. Para a maioria dos utilizadores isto é imperceptível. O cache reconstrói-se automaticamente em minutos de navegação normal.
Limpar o cache DNS vai terminar a minha sessão nos sites?
Não. As entradas do cache DNS são completamente separadas dos cookies do browser, tokens de sessão e estado de autenticação. Limpar o DNS não toca em nenhum desses elementos.
Em que é que ipconfig /flushdns difere de Clear-DnsClientCache?
Ambos os comandos instruem o serviço DNS Client do Windows a limpar o seu cache. ipconfig /flushdns é uma interface legada que comunica com o serviço através do utilitário ipconfig; Clear-DnsClientCache é um cmdlet nativo do PowerShell que utiliza a interface WMI/CIM diretamente. O resultado final é idêntico, mas Clear-DnsClientCache é scriptável e retorna objetos estruturados, tornando-o preferível em contextos de automação.
Por que o Chrome ainda mostra o site antigo depois de ter limpado o cache DNS do sistema operativo?
O Chrome mantém o seu próprio cache DNS em processo que não é afetado pelas limpezas ao nível do sistema operativo. Deve limpar separadamente o cache do Chrome via chrome://net-internals/#dns. Adicionalmente, se a ligação TCP antiga ainda estiver ativa no pool de sockets do Chrome, também deve limpar os pools de sockets via chrome://net-internals/#sockets.
Com que frequência devo limpar o meu cache DNS?
Não existe um calendário universal. Limpe-o de forma reativa — quando encontrar erros relacionados com DNS, após uma migração de servidor ou domínio, após um incidente de segurança suspeito, ou ao alternar entre configurações de rede VPN e não-VPN. As limpezas agendadas de rotina só são justificadas em ambientes de desenvolvimento ou staging onde os registos DNS mudam frequentemente.
