Como limpar o cache DNS do Linux

O servidor DNS (Domain Name System) foi criado para traduzir nomes de domínio em endereços IP e vice-versa, a fim de possibilitar o envio de pacotes de dados aos computadores de destino. Cada vez que inserimos um endereço no navegador da web, o o equipamento é responsável por enviar uma consulta ao servidor DNS cadastrado, solicitando o endereço IP que está associado ao nome de domínio pesquisado, esta pesquisa leva tempo e se for realizada em cada processo de acesso, o servidor DNS pode lidar com um grande número de solicitações que podem eventualmente causar seu colapso e seu resultado conseqüente é o acesso negado.

Para evitar isso, existe o cache DNS que é responsável por salvar localmente o endereço IP desse domínio para pular o processo de busca no próximo acesso, mas em vez disso é redirecionado levando este valor local e assim liberamos a carga para o servidor e ao mesmo tempo acessamos muito mais rápido. Mas o problema é que ter muito cache DNS hospedado pode afetar o desempenho do próprio navegador, por isso é recomendado seu lançamento, veremos como fazer esta tarefa no Linux.

1. Limpe o cache DNS usando systemd-resolve no Linux


O Ubuntu e outras distribuições baseadas em Debian usam o comando systemd-resolve, este comando é um daemon DNS integrado ao systemd e é um serviço do sistema que fornece resolução de nome de rede para aplicativos locais.

Este comando implementa um resolvedor de stub DNS / DNSSEC de validação e cache, bem como um resolvedor LLMNR e MulticastDNS. Os aplicativos locais podem enviar solicitações de resolução de nome de rede por meio de três interfaces:

  • A API nativa com recursos completos do sistema resolvido é exposta no barramento.
  • A API glibc getaddrinfo que é definida pelo RFC3493 e suas funções de resolução relacionadas, incluindo gethostbyname.
  • Um ouvinte de stub DNS local é oferecido no endereço IP 127.0.0.53 na interface de loopback local, a partir daí os programas que geram solicitações de DNS diretamente, ignorando APIs locais, podem usar este stub para se conectar ao systemd resolvido

Passo 1
Para usar este comando, veremos primeiro as estatísticas de cache DNS no sistema:

 sudo systemd-resolve -statistics 

PROLONGAR

Passo 2
Agora, para limpar o cache DNS, executamos:

 sudo systemd-resolve --flush-cachres 

PROLONGAR

etapa 3
Como podemos ver, quando executamos as estatísticas novamente, o cache DNS foi limpo. Este é o método mais comum. Outras opções de uso para distribuições diferentes são:

No caso de usar RedHat ou ArchLinux

 sudo systemctl restart nscd 

2. Limpe o cache DNS usando dnsmasq ou nomeado no Linux


A seguir, veremos duas outras opções para limpar o cache

Limpe o cache DNS com DnsmasqDnsmasq é freqüentemente usado em servidores DNS locais ou roteadores, para limpar o cache DNS com este comando, devemos executar:

 sudo systemctl restart dnsmasq 

Limpe o cache DNS com BINDEste comando BIND é usado para servidores DNS especialmente projetados para tarefas específicas e para limpar o cache DNS, basta executar:

 sudo systemctl restart nomeado 

Simples assim, limpamos o cache DNS do Linux, melhorando assim o desempenho de nossos equipamentos através do terminal.

wave wave wave wave wave