Marcio Cunha

Como limpar o cache de DNS no Linux e resolver falhas

Aprenda a inspecionar e limpar o cache de DNS no Linux usando systemd-resolved e dig para solucionar falhas de propagação e resolução.

Marcio Cunha•5 min
Também disponível em:EnglishEspañol
Resumo
  • O systemd-resolved gerencia o cache local de DNS na maioria das distribuições modernas do Linux.
  • A ferramenta dig permite consultar diretamente os servidores autoritativos e ignorar o cache intermediário.
  • A limpeza correta do cache evita que computadores continuem acessando endereços IP antigos após migrações.
  • Problemas persistentes de propagação exigem a verificação do tempo de vida TTL configurado no domínio.
  • Monitorar logs do sistema ajuda a identificar gargalos de resolução antes que afetem os usuários finais.

O que é o cache de DNS e por que ele falha na prática

O DNS (Domain Name System) funciona como a lista telefônica da internet, traduzindo nomes de domínio fáceis de lembrar, como marciocunha.net, em endereços IP numéricos que os computadores usam para conversar entre si. Para acelerar essa navegação e reduzir o tráfego na rede, o seu sistema operacional armazena temporariamente essas respostas em uma área chamada cache. Na prática, isso significa que o computador não precisa perguntar para a internet inteira qual é o IP de um site toda vez que você tenta acessá-lo.

No entanto, essa conveniência traz um efeito colateral conhecido no mundo corporativo: quando um servidor muda de endereço IP ou um site é migrado para outra infraestrutura, o seu computador pode continuar tentando acessar o endereço antigo armazenado na memória. Em ambientes de servidores locais ou redes corporativas, essa falha de propagação gera erros frustrantes de conexão que parecem aleatórios. É exatamente nesse cenário que entra a necessidade de inspecionar o que está guardado e forçar a limpeza desse histórico para restabelecer o fluxo normal de dados.

Como identificar problemas de resolução de nomes

Antes de aplicar qualquer comando de limpeza, o primeiro passo de um administrador de sistemas é isolar a origem da falha. Muitas vezes, o erro não está no cache local, mas sim em um servidor intermediário ou em uma falha de configuração na zona de DNS. Para investigar isso de forma cirúrgica, utilizamos o utilitário dig, uma ferramenta de linha de comando poderosa para consultar servidores de nomes diretamente.

Na prática, o dig nos permite ignorar completamente o cache do sistema operacional e perguntar diretamente à fonte. Se você quer saber como configurar o QoS no roteador para zerar o jitter na rede e garantir estabilidade nas consultas, é fundamental primeiro isolar se o problema é lentidão na rota ou falha na resposta do domínio. Executar um diagnóstico preciso evita que você gaste tempo reiniciando serviços que estão funcionando perfeitamente.

Inspecionando o resolvedor com systemd-resolved

Nas distribuições Linux modernas, como Ubuntu, Debian e Fedora, o gerenciamento de rede e resolução de nomes é centralizado majoritariamente em um serviço chamado systemd-resolved. Esse serviço atua como um resolvedor local que intercepta as solicitações dos aplicativos e mantém um cache ativo na memória RAM. Para saber o estado atual desse cache, estatísticas de uso e quais servidores upstream estão configurados, usamos o comando nativo resolvectl.

Quando executamos uma inspeção, conseguimos ver claramente quantas consultas foram bem-sucedidas, quantas falharam e qual é a taxa de acerto do cache atual. Se você notar discrepâncias bizarras onde um navegador abre o site mas a ferramenta de linha de comando falha, o problema quase sempre reside em políticas agressivas de cache mantidas por esse serviço ou até mesmo em camadas adicionais de cache no próprio navegador.

Passo a passo para limpar o cache de DNS no Linux

Quando a propagação de um domínio falha e você tem certeza de que os registros foram atualizados na origem, chegou o momento de esvaziar o cache local. O procedimento é rápido, mas exige privilégios administrativos. A sequência abaixo demonstra como reiniciar e limpar o cache do resolvedor do sistema de forma segura.

  1. Abra o terminal do Linux com privilégios de superusuário e verifique o status atual do serviço de resolução executando o comando
    sudo systemctl status systemd-resolved
  2. Limpe o cache interno e reinicie as estatísticas do resolvedor utilizando o comando nativo
    sudo resolvectl flush-caches
  3. Valide se a limpeza funcionou e se o cache foi zerado consultando novamente o status do serviço com
    sudo resolvectl statistics

Após executar esses passos, o sistema operacional descartará todas as entradas antigas. Vale lembrar que, caso você utilize servidores locais de DNS como o Pi-hole ou serviços corporativos encadeados, pode ser necessário limpar o cache também nesses nós centrais para garantir a eficácia total da mudança.

Validando a propagação com o comando dig

Com o cache limpo, o próximo passo essencial é validar se as novas requisições estão trazendo os endereços IP atualizados. É aqui que o comando dig se torna o melhor amigo do engenheiro de redes. Enquanto navegadores web podem insistir em guardar dados antigos, o dig faz uma consulta crua e transparente ao servidor autoritativo.

Ao executar uma consulta apontando para um servidor público de confiança, como o do Google (8.8.8.8) ou da Cloudflare (1.1.1.1), você consegue comparar a resposta que a sua máquina está recebendo com a realidade da internet. Se o IP retornado ainda for o antigo, o problema não é mais o seu cache local, mas sim o tempo de vida (TTL) configurado pelo provedor do domínio que ainda não expirou nos servidores raiz globais. Para complementar essa implementação em produção, vale conferir também nossas análises técnicas sobre Como testar o fusistor na placa-mãe com multímetro e Como configurar o QoS no roteador para zerar o jitter na rede.

Conclusão e boas práticas na gestão de DNS

Gerenciar a resolução de nomes em ambientes Linux exige compreender que o cache existe para otimizar a performance, mas pode se tornar um obstáculo durante manutenções e migrações de servidores. Dominar ferramentas como o systemd-resolved e o dig transforma um problema aparentemente misterioso em um diagnóstico rápido e cirúrgico. Com a rotina certa de inspeção e limpeza, você garante que sua infraestrutura corporativa ou servidor local responda sempre com precisão e agilidade.

Adotar boas práticas, como verificar o TTL antes de grandes alterações e documentar os procedimentos de limpeza, evita horas de indisponibilidade e dor de cabeça. O DNS é a fundação invisível de qualquer arquitetura moderna de rede; mantê-lo auditado e sob controle é sinônimo de resiliência e estabilidade para toda a operação tecnológica.