O que é DNS e como funciona

DNS (Domain Name System) é o sistema que traduz nomes de domínio, como meusite.com.br, nos endereços IP que as máquinas usam para se achar. Funciona como uma lista telefônica distribuída da internet.

Atualizado em 5 min de leitura

Objetivos de aprendizado

Depois de ler este artigo, você vai conseguir:

  • Entender o que o DNS faz e por que a internet depende dele
  • Seguir o caminho de uma consulta, do navegador ao servidor autoritativo
  • Consultar um domínio com dig e ler o resultado, incluindo o TTL
Nesta página

Computadores se encontram na rede por endereços IP, como 203.0.113.10 ou 2001:db8::10. Pessoas lembram de nomes. O DNS faz a ponte: você digita meusite.com.br e, em milissegundos, um servidor responde qual IP corresponde àquele nome.

Quase tudo que você faz online começa com uma consulta DNS: abrir um site, chamar uma API, conectar um bot ao Gateway do Discord, enviar um e-mail. Quando o DNS falha, o serviço parece fora do ar mesmo com o servidor funcionando perfeitamente.

Navegadormeusite.com.br15IPResolvedor recursivoguarda em cache (TTL)2Servidor raizindica o .br3Servidor do TLDindica o autoritativo4AutoritativoA 203.0.113.10
O resolvedor segue as indicações da raiz ao autoritativo e guarda a resposta em cache pelo TTL.

O que é o DNS?#

O DNS (Domain Name System) é um banco de dados distribuído e hierárquico que associa nomes a informações, principalmente endereços IP. Foi definido nas RFCs 1034 e 1035 e continua sendo uma das bases da internet.

Dois pontos explicam o desenho:

  • Distribuído: nenhuma máquina guarda todos os nomes. Cada organização mantém os dados do seu domínio, e o sistema sabe quem perguntar.
  • Hierárquico: o nome api.meusite.com.br lê-se da direita para a esquerda: raiz (um ponto final implícito), br, com, meusite, api. Cada nível delega o próximo a outros servidores.

Quem participa de uma consulta DNS?#

Papel O que faz
Cliente (stub resolver) O sistema operacional ou o navegador. Pergunta ao resolvedor e guarda a resposta em cache.
Resolvedor recursivo Faz o trabalho pesado: consulta os outros servidores até achar a resposta. Costuma ser o do provedor de internet, ou público, como 1.1.1.1 (Cloudflare) e 8.8.8.8 (Google).
Servidor raiz Sabe quais servidores cuidam de cada TLD (.com, .br, .org). Existem 13 servidores raiz nomeados, de a.root-servers.net a m.root-servers.net, cada um com endereço IPv4 e IPv6, replicados em milhares de instâncias pelo mundo (o mapa atualizado fica no root-servers.org).
Servidor do TLD Sabe quais servidores respondem por cada domínio dentro do TLD.
Servidor autoritativo Guarda a zona do domínio e dá a resposta final: os registros DNS.

Como o DNS encontra um IP, passo a passo?#

Suponha que seu navegador precise de www.meusite.com.br e nada esteja em cache:

  1. O navegador e o sistema operacional olham seus caches locais. Sem resposta, perguntam ao resolvedor recursivo.
  2. O resolvedor pergunta a um servidor raiz. A raiz não sabe o IP, mas indica os servidores do .br.
  3. O resolvedor pergunta aos servidores do .br, que também respondem pela zona .com.br, e eles indicam os servidores autoritativos de meusite.com.br.
  4. O servidor autoritativo responde com o registro, por exemplo A 203.0.113.10.
  5. O resolvedor devolve a resposta ao cliente e a guarda em cache pelo tempo do TTL.

Cada passo é uma indicação: o servidor aponta quem sabe mais. Na prática o cache evita quase tudo isso. As consultas à raiz são raras, porque os resolvedores já lembram quem cuida do .br.

As consultas viajam por UDP na porta 53, com TCP quando a resposta não cabe num pacote (a RFC 7766 exige suporte a TCP).

O que são cache e TTL?#

Cada resposta DNS traz um TTL (time to live): quantos segundos ela pode ser reaproveitada sem nova consulta. Um TTL de 3600 significa que o resolvedor pode servir a mesma resposta por até uma hora.

O cache torna o DNS rápido e barato, mas tem um custo: ao mudar um registro, quem já tinha a resposta guardada continua vendo o valor antigo até o TTL vencer. É esse o motivo do "mudei e não atualizou". Antes de uma migração, baixe o TTL (por exemplo para 300) algumas horas antes e suba de novo depois.

Como consultar o DNS com dig?#

O dig (Linux e macOS; no Windows, use nslookup ou o WSL) mostra o que o DNS responde, e o @ escolhe o resolvedor. Os quatro comandos abaixo mostram, na ordem: o IP segundo o resolvedor do Google, só o valor, os servidores autoritativos e o caminho completo (raiz, TLD, autoritativo).

bash
dig @8.8.8.8 meusite.com.br A +noall +answer

dig +short meusite.com.br A

dig meusite.com.br NS +short

dig +trace www.meusite.com.br

A linha de resposta tem este formato (IP de documentação, sem domínio real):

text
meusite.com.br.   3600   IN   A   203.0.113.10

Os campos são nome, TTL restante, classe, tipo e valor. Se você rodar de novo, o TTL terá diminuído: é o cache em ação. Se dig +short não devolve nada, o nome não existe ou não tem aquele tipo de registro.

O DNS é seguro e privado?#

Por padrão, não. O DNS clássico trafega sem criptografia, então a rede enxerga quais nomes você consulta, e uma resposta pode ser forjada. Há duas proteções diferentes:

  • DNSSEC (RFC 4033 e seguintes) assina as respostas da zona. O resolvedor valida a assinatura e detecta adulteração. Protege a integridade, não esconde a consulta.
  • DNS sobre TLS (DoT, RFC 7858, porta 853) e DNS sobre HTTPS (DoH, RFC 8484) criptografam o trecho entre o cliente e o resolvedor. Protegem a privacidade contra quem observa a rede, mas o resolvedor ainda vê suas consultas.

O que o DNS não faz?#

  • Não registra domínios. O registro do nome acontece num registrador. O DNS publica os dados depois.
  • Não leva o tráfego. Ele só informa o IP. Quem entrega a página é o servidor naquele endereço.
  • Não muda instantaneamente. O cache e o TTL impõem uma espera, que costuma ser chamada de propagação.
  • Não resolve falhas do servidor. Um DNS correto apontando para uma aplicação fora do ar continua dando erro.

Termos vizinhos: zona (conjunto de registros de um domínio), NS (registro que diz quem é autoritativo), registrador (empresa onde você compra o domínio), hosts file (arquivo local que o sistema consulta antes do DNS).

Como fazer isso na Square Cloud#

Toda aplicação web na Square Cloud ganha um subdomínio *.squareweb.app com HTTPS, em todos os planos, sem você mexer em DNS. Para usar o seu próprio domínio, a partir do plano Standard, você cria no seu registrador os registros DNS que o painel mostra e acompanha o status de validação em tempo real. O TLS é automático e há suporte a domínios com acento (Punycode).

O domínio continua registrado em seu nome, no seu registrador, e é lá que você controla os registros. O passo a passo está em como apontar um domínio para sua aplicação e em como usar um domínio personalizado.

Os detalhes do recurso estão na página de domínios personalizados.

Rede

Domínio próprio, TLS automático e CDN global para o seu app

Saiba mais

Perguntas frequentes

DNS e domínio são a mesma coisa?

Não. O domínio é o nome que você registra (meusite.com.br). O DNS é o sistema que publica e resolve as informações desse nome, como o IP do site e os servidores de e-mail.

Que porta o DNS usa?

A porta 53. As consultas comuns usam UDP, e o TCP entra quando a resposta é grande ou o UDP não basta. O DNS sobre TLS usa a porta 853 e o DNS sobre HTTPS usa a 443.

Mudei o DNS e o site não atualizou. Por quê?

Resolvedores guardam respostas em cache pelo tempo do TTL. Até esse tempo acabar, parte dos usuários ainda recebe o valor antigo. Baixar o TTL antes de uma mudança planejada reduz a espera.

Qual a diferença entre o DNS 1.1.1.1 e o 8.8.8.8?

São resolvedores públicos de empresas diferentes (Cloudflare e Google). Os dois respondem às mesmas consultas, mas variam em velocidade na sua rede, política de privacidade e filtros opcionais.

Próximo passo · Passo 2 de 5Registros DNS: A, CNAME, MX e TXT explicadosRegistros DNS são as instruções de uma zona que dizem para onde um nome aponta. Entenda A, AAAA, CNAME, MX, TXT, NS e CAA com exemplos e comandos dig.

Mais em Rede e domínios

Ver todos os 27 artigos