15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
10.10.2024

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/hosts locais 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)

  1. Prima Win + R, escreva cmd, depois prima Ctrl + Shift + Enter para 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.
  2. Execute o comando de limpeza:
ipconfig /flushdns
  1. 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.

  1. Prima Win + X e selecione Windows PowerShell (Admin) ou Terminal (Admin) no Windows 11.
  2. Execute:
Clear-DnsClientCache

Nã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 Dnscache

Aviso 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-DnsClientCache

Isto 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)

  1. Abra o Terminal via Applications > Utilities > Terminal ou prima Cmd + Space e escreva Terminal.
  2. Execute:
sudo killall -HUP mDNSResponder
  1. Introduza a sua palavra-passe de administrador quando solicitado. O campo de palavra-passe não mostrará os caracteres — este é o comportamento esperado. Prima Enter para 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 udnsflushcaches

macOS Mavericks, Mountain Lion e Lion (10.9 e anterior)

sudo killall -HUP mDNSResponder

Limpar 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 -flushcache

dscacheutil -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

  1. Abra o Google Chrome.
  2. Na barra de endereço, navegue para:
chrome://net-internals/#dns
  1. 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:

  1. Navegue para:
chrome://net-internals/#sockets
  1. 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

PropriedadeCache DNS do Sistema OperativoCache DNS do Chrome
ÂmbitoTodas as aplicações a nível do sistemaApenas 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 operativoSimParcialmente (utiliza a sua própria lógica de TTL)
Afetado por alterações de DNS via VPNSimNão imediatamente
Visível para ferramentas de diagnóstico`Get-DnsClientCache`, `dscacheutil -cachedump`Apenas via internos do Chrome
Limpo ao reiniciar o sistemaSimSim (memória em processo)
Limpo ao reiniciar o browserNãoSim

Comandos de Limpeza por Plataforma de Relance

Plataforma / VersãoComando
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_OUT após uma migração de servidor — O IP antigo ainda está em cache. Limpe o cache do sistema operativo e verifique com nslookup ou dig que 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 é:

  1. Verifique o registo autoritativo diretamente usando dig @8.8.8.8 example.com A ou nslookup example.com 1.1.1.1.
  2. Se o registo autoritativo estiver correto mas a sua resolução local estiver errada, limpe o cache do sistema operativo local.
  3. 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:

  1. Limpe o cache local imediatamente usando o comando apropriado para o seu sistema operativo.
  2. Mude para um resolver com validação DNSSEC como o Cloudflare (1.1.1.1) ou o Google (8.8.8.8).
  3. Inspecione os processos em execução em busca de malware que possa estar a modificar o ficheiro hosts (C:WindowsSystem32driversetchosts no Windows, /etc/hosts em sistemas Unix).
  4. 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 Highest

plist 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

SintomaLimpar Cache do Sistema OperativoLimpar Cache do ChromeLimpar Cache do RouterVerificar Resolver Upstream
Site carrega no Firefox mas não no ChromeNãoSimNãoNão
Site inacessível em todos os browsersSimSimNãoSim
Site inacessível em todos os dispositivos da redeSimSimSimSim
IP correto mostrado por `nslookup` mas o site continua a falharNãoSim (sockets)NãoNão
Site carrega para colegas mas não para siSimSimNãoSim
Acabou de concluir uma migração de servidorSimSimNãoSim
Suspeita de envenenamento DNSSimSimSimSim

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 dig ou uma ferramenta online como whatsmydns.net antes 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 /displaydns antes de limpar para capturar um instantâneo do estado atual do cache para fins de diagnóstico.
  • Após a limpeza, use nslookup example.com ou ping example.com para 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 + R no Windows/Linux, Cmd + Shift + R no 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.

15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar