O que é DNS e como funciona?

O que é DNS e como funciona?

Digitar um endereço no navegador parece mágica: você escreve google.com, pressiona Enter e, em menos de um segundo, a página aparece na tela. Por trás dessa ação, porém, acontece um processo silencioso de várias etapas coordenado por um dos sistemas mais importantes, e menos conhecidos, da internet: o DNS, sigla de Domain Name System, ou Sistema de Nomes de Domínio. Entender o que ele é e como funciona não é só curiosidade técnica; também permite diagnosticar erros de conexão, escolher melhor as configurações de rede e usar recursos como a limpeza do cache de DNS quando algo dá errado.

O que é o DNS e para que serve?

O DNS é, em essência, a agenda telefônica da internet. As pessoas lembram de nomes como google.com, youtube.com ou wikipedia.org; as máquinas, por sua vez, identificam-se umas às outras por endereços numéricos chamados endereços IP. Um endereço IPv4 é um número como 142.250.190.46, e um endereço IPv6 é uma sequência muito mais longa, como 2607:f8b0:4005:800::200e. Memorizar esse tipo de dado para cada site que visitamos seria impossível.

A função do DNS é traduzir um nome de domínio legível para humanos no endereço IP de que o dispositivo precisa para estabelecer uma conexão. Quando você digita uma URL, seu computador pergunta ao sistema de nomes a qual endereço IP aquele domínio corresponde e, graças à resposta, o navegador consegue se conectar ao servidor certo. Essa tradução acontece toda vez que um domínio é usado: ao navegar, ao enviar e-mail ou a partir de aplicativos no celular. Sem o DNS, a internet como a conhecemos, com bilhões de sites acessíveis por um nome simples, simplesmente não existiria.

Por que o DNS existe? O problema dos endereços IP

Para entender por que o DNS existe, é preciso olhar o problema que ele resolve. A internet é uma rede com milhões de servidores, e cada um tem pelo menos um endereço IP único. Conectar-se diretamente pelo IP tem três grandes desvantagens:

  • Os IPs são difíceis de memorizar. Manter na cabeça uma lista de dezenas de números não é prático para as pessoas, e a quantidade de serviços cresce a cada dia.
  • Os IPs mudam. Uma empresa pode migrar o site para outro servidor ou provedor e ganhar um endereço novo; os usuários não deveriam perceber nem depender desse detalhe.
  • O sistema não escalaria. Fazer cada computador do mundo manter uma lista atualizada de todos os domínios existentes seria inviável; por isso o sistema é distribuído em uma hierarquia global.

Para resolver esses problemas, os nomes de domínio são organizados de forma hierárquica. Em google.com, o ponto final representa a raiz, .com é o domínio de topo (TLD, na sigla em inglês), google é o domínio de segundo nível, e www ou mail seriam subdomínios opcionais. Essa hierarquia faz com que a base de dados de nomes não viva em um único lugar: cada nível da árvore sabe a quem perguntar pelo nível seguinte, e nenhuma organização controla o sistema inteiro.

Como funciona uma consulta de DNS, passo a passo

Quando o navegador precisa resolver um domínio, a consulta passa por vários atores até obter o endereço. O caminho típico é este:

  1. O navegador e o sistema operacional verificam primeiro os caches locais: se já conhecem a resposta e o tempo de vida (TTL) do registro não expirou, usam-na diretamente e o processo termina aqui, em milissegundos.
  2. Se não há resposta local, a solicitação vai para o resolver recursivo, um servidor DNS especializado, normalmente o do seu provedor de internet (ISP) ou o DNS público que você configurou.
  3. O resolver pergunta a um servidor raiz: ele não conhece google.com, mas sabe quais servidores administram o domínio de topo .com.
  4. O resolver consulta então um servidor de TLD .com, que responde apontando para os servidores autoritativos do domínio google.com.
  5. O resolver chega ao servidor autoritativo do domínio, que tem a resposta definitiva: o registro que associa google.com ao seu endereço IP.
  6. O endereço volta até o seu dispositivo, que o guarda em cache durante o TTL para não repetir todo o caminho, e o navegador abre a conexão direta com o servidor.

Todo esse percurso, que parece longo, costuma ser concluído em dezenas de milissegundos: cada nível guarda suas próprias respostas em cache e o resolver não recomeça do zero a cada consulta.

O que é um servidor DNS? Os servidores DNS públicos

Um servidor DNS é simplesmente um computador que roda um software especializado em responder consultas de resolução de nomes. Vale distinguir dois papéis. Os servidores autoritativos pertencem ao dono de um domínio e contêm a informação oficial dos seus registros: quando alguém pergunta por aquele domínio, eles respondem com autoridade. Os resolvers recursivos, por sua vez, fazem o trabalho de campo: percorrem os servidores raiz e de TLD em nome do usuário até achar a resposta, como explicado na seção anterior.

Por padrão, seu computador quase sempre usa o resolver que o ISP entrega junto com a conexão, normalmente configurado de forma automática pelo roteador. Esses servidores costumam funcionar bem, mas nem sempre são os mais rápidos nem os mais confiáveis, e às vezes falham ou ficam sobrecarregados. Por isso existem os servidores DNS públicos: gratuitos e abertos a qualquer pessoa. Os exemplos mais conhecidos são:

  • Google Public DNS: 8.8.8.8 e 8.8.4.4.
  • Cloudflare: 1.1.1.1 e 1.0.0.1, com foco em velocidade e privacidade.
  • Quad9: 9.9.9.9, que também bloqueia domínios conhecidos por distribuir malware.

Trocar de servidor DNS é uma mudança de configuração, não de cabos: no Windows ela é feita nas propriedades do protocolo IPv4 do adaptador de rede, e também pode ser configurada no próprio roteador para valer para todos os dispositivos da casa. Muitos usuários notam páginas carregando mais rápido e menos erros de resolução depois de migrar para um DNS público.

Os tipos de registro de DNS mais comuns

As informações de um domínio ficam guardadas no servidor autoritativo na forma de registros de vários tipos. Cada tipo responde a uma pergunta diferente: qual é o IP do site, para qual servidor o e-mail deve ser enviado, e assim por diante. Os mais comuns são:

TipoO que fazExemplo de uso
AAssocia um nome a um endereço IPv4.google.com aponta para 142.250.190.46
AAAAAssocia um nome a um endereço IPv6.google.com aponta para 2607:f8b0:4005:800::200e
CNAMECria um alias que aponta para outro nome de domínio.www.seudominio.com redireciona para seudominio.com
MXIndica o servidor de e-mail do domínio e sua prioridade.o e-mail é tratado por mail.provedor.com
TXTGuarda texto livre; usado para verificação de propriedade, SPF e DKIM.v=spf1 include:provedor.com ~all
NSAponta para os servidores autoritativos do domínio.ns1.hospedagem.com

Existem outros tipos, como SOA, PTR ou SRV, mas A, AAAA, CNAME, MX, TXT e NS cobrem a grande maioria dos casos do dia a dia, de abrir um site a configurar o e-mail de uma empresa.

O que significa limpar o cache de DNS (flush DNS)?

Como você viu, cada resposta de DNS fica em cache por um período chamado TTL. Esse cache acelera a navegação, mas também pode ficar desatualizado: se um site troca de servidor e seu computador mantém o IP antigo, você continuará vendo erros mesmo com o site funcionando para todo mundo. Nesses casos, vale limpar o DNS (flush DNS), que consiste em apagar o cache local de resolução para forçar uma consulta nova e limpa.

No Windows o processo é bem simples: abra o Prompt de Comando (CMD) ou o PowerShell e execute o comando ipconfig /flushdns. Você verá a mensagem A cache de resolução de DNS foi liberada com êxito e, a partir daí, a próxima consulta será resolvida do zero. No macOS, podem ser usados comandos como sudo dscacheutil -flushcache. É uma operação inofensiva: não apaga arquivos nem senhas, apenas dados temporários que se regeneram sozinhos.

Faz sentido limpar o cache de DNS em situações específicas:

  • Você trocou de provedor de hospedagem ou um site migrou para outro IP e ainda vê o conteúdo antigo ou erros de conexão.
  • Você acabou de registrar ou transferir um domínio e as consultas falham ou apontam para um servidor anterior.
  • Você alterou os servidores DNS do computador ou do roteador e quer descartar respostas armazenadas.
  • Uma página não abre no computador, mas abre no celular conectado a outra rede: isso costuma indicar um cache local corrompido ou desatualizado.
  • Surgem erros de resolução depois de quedas de internet ou mudanças de rede, por exemplo ao alternar entre Wi-Fi e dados móveis ou entre redes Wi-Fi.

Erros de DNS comuns e como resolvê-los

Os problemas de DNS aparecem como mensagens crípticas que, na prática, quase sempre significam uma de poucas coisas. Os mais frequentes são:

  • ERR_NAME_NOT_RESOLVED (Chrome) ou Servidor não encontrado: o nome não pôde ser resolvido em nenhum servidor DNS.
  • DNS_PROBE_FINISHED_NXDOMAIN: o domínio consultado não existe ou está com erro de digitação, já que NXDOMAIN significa domínio inexistente.
  • O servidor DNS não está respondendo (Windows): o resolver configurado não respondeu ou está inacessível.
  • Não foi possível encontrar o endereço IP do servidor: uma falha de resolução com causas parecidas com as anteriores.

Diante de qualquer um deles, a solução passa por testar, nesta ordem:

  1. Confira a URL. Um erro de digitação é a causa mais comum de NXDOMAIN; se o domínio for seu ou da sua empresa, confirme também que ele não expirou.
  2. Teste em outro dispositivo e em outra rede. Se o site abre no celular pelos dados móveis, o problema é local: cache, roteador ou DNS do ISP.
  3. Limpe o cache de DNS com o comando ipconfig /flushdns, como explicado antes, e tente de novo.
  4. Troque para um DNS público como 8.8.8.8 ou 1.1.1.1 no adaptador ou no roteador; se o erro sumir, o DNS do seu ISP era o responsável.
  5. Reinicie o roteador e o computador. Um roteador com a tabela de resolução corrompida ou travada causa falhas intermitentes que um reinício costuma corrigir.
  6. Verifique a resolução com ferramentas de consulta como nslookup (incluído no Windows) ou dig (Linux e macOS) para ver o que o servidor DNS realmente responde e se o registro aponta para o lugar certo.
  7. Se você administra o domínio, aguarde a propagação. Depois de alterar registros ou servidores NS, a informação nova demora a chegar a toda a internet: em geral, de algumas horas até 72, dependendo do TTL configurado.

O DNS trabalha em silêncio toda vez que você abre uma página, envia um e-mail ou usa um aplicativo, e entender as suas peças transforma uma mensagem de erro confusa em um diagnóstico claro. Conhecer os servidores públicos, os registros mais comuns e comandos como ipconfig /flushdns dá a você o controle para resolver sozinho boa parte dos problemas cotidianos de conexão.

Chatea por WhatsApp