O que é o DNS e como funciona?
IPAddress-Lookup.com ·
Sempre que digitas o nome de um site no teu navegador, um sistema invisível entra em ação para determinar onde esse site se encontra realmente. Esse sistema é o Sistema de Nomes de Domínio, ou DNS, e constitui uma das componentes mais importantes da infraestrutura da Internet. Sem ele, teria de memorizar longas sequências de números para cada site que visita, em vez de nomes fáceis de lembrar como example.com. Neste guia, vamos explicar exatamente o que é o DNS, acompanhar uma pesquisa real do início ao fim, detalhar todos os principais tipos de registos e mostrar-lhe como inspecionar e resolver problemas relacionados com o DNS por conta própria.
O que é o DNS?
O DNS é a lista telefónica da Internet. Os computadores não comunicam utilizando nomes legíveis para os humanos; comunicam utilizando endereços numéricos. Quando quer contactar um amigo por telefone, não marca o nome dele, marca o número, mas provavelmente lembra-se do nome e deixa que a sua lista de contactos o traduza em dígitos. O DNS faz o mesmo para a Internet: traduz um nome de domínio que as pessoas conseguem memorizar, como www.example.com, para o endereço IP numérico que as máquinas utilizam efetivamente para encaminhar o tráfego, como 93.184.216.34 para IPv4 ou uma sequência hexadecimal mais longa para IPv6.
Esta tradução é importante porque os endereços IP mudam. Um site pode mudar-se para um novo servidor, trocar de fornecedor de alojamento ou distribuir o seu conteúdo por dezenas de centros de dados em todo o mundo. Os nomes dão-nos um rótulo estável e fácil de memorizar que permanece o mesmo mesmo quando o endereço subjacente muda. O DNS é a camada que cumpre essa promessa, resolvendo nomes em endereços milhares de milhões de vezes por segundo em todo o mundo. É também um sistema distribuído, o que significa que nenhum computador individual armazena toda a lista de endereços. Em vez disso, a responsabilidade é distribuída por uma vasta hierarquia de servidores, o que é exatamente o que torna o DNS rápido, resiliente e capaz de se expandir para todo o planeta.
Os intervenientes envolvidos numa consulta de DNS
Antes de seguirmos o percurso de uma consulta, é útil conhecer os intervenientes. Cada um tem uma função específica, e uma única consulta pode envolver todos eles:
- Resolver stub — o pequeno programa integrado no seu sistema operativo. Quando uma aplicação precisa de um endereço, o resolver stub encaminha o pedido. Por si só, faz muito pouco.
- Resolver recursivo — o motor da operação, normalmente gerido pelo seu fornecedor de serviços de Internet ou por um fornecedor público, como os conhecidos serviços 8.8.8.8 ou 1.1.1.1. Recebe a sua consulta e realiza todo o trabalho necessário para encontrar a resposta final, devolvendo-a depois a si.
- Servidores de nomes raiz — o topo da hierarquia. Não conhecem o endereço de nenhum site, mas sabem onde encontrar os servidores responsáveis por cada domínio de nível superior.
- Servidores de nomes de TLD — responsáveis por um domínio de nível superior como .com, .org ou .net. Sabem quais os servidores autoritativos que gerem cada domínio registado sob a sua alçada.
- Servidores de nomes autoritativos — a fonte definitiva da verdade. Estes servidores contêm os registos reais de um domínio específico e fornecem a resposta definitiva.
Rastrear uma consulta real: resolver www.example.com
Vamos acompanhar uma única solicitação passo a passo. Imagine que digita www.example.com no seu navegador e pressiona Enter. Eis o que acontece nos bastidores, partindo do princípio de que ainda não há nada em cache:
- O navegador envia a solicitação ao resolvedor stub. O resolvedor stub do seu sistema operativo recebe a solicitação para www.example.com. Primeiro, verifica a sua própria cache local. Se tiver procurado este nome recentemente, devolve a resposta imediatamente e o percurso termina aqui.
- O resolvedor stub contacta o resolvedor recursivo. Sem uma resposta em cache, o resolvedor stub reencaminha a consulta para o seu resolvedor recursivo configurado.
- O resolvedor recursivo consulta um servidor raiz. O resolvedor recursivo ainda não sabe onde se encontra o domínio .com, por isso pergunta a um dos servidores raiz. O servidor raiz não conhece www.example.com, mas responde com um encaminhamento: «Não tenho essa resposta, mas eis os servidores responsáveis pelo domínio .com.»
- O resolvedor recursivo consulta o servidor do TLD .com. Seguindo essa referência, o resolvedor pergunta a um servidor do TLD .com sobre www.example.com. O servidor do TLD responde com outra referência: «Não conheço o endereço, mas eis os servidores de nomes autoritativos para example.com.»
- O resolvedor recursivo consulta o servidor autoritário. Por fim, o resolvedor consulta o servidor de nomes autoritário para example.com. Este servidor contém os registos reais e responde de forma definitiva: «www.example.com está em 93.184.216.34.»
- A resposta é enviada de volta para si. O resolvedor recursivo armazena esta resposta em cache, entrega-a ao seu resolvedor stub e o seu navegador estabelece uma ligação a esse endereço IP. Todo o processo termina normalmente em dezenas de milissegundos.
Consultas recursivas versus iterativas
O passo a passo acima ilustra dois estilos diferentes de consulta, e compreender a distinção esclarece muita confusão. Quando o seu dispositivo faz uma pergunta ao resolvedor recursivo, espera uma resposta final completa. Trata-se de uma consulta recursiva: o resolvedor assume a responsabilidade de fazer o que for necessário para devolver um resultado completo. O seu dispositivo fica à espera.
As comunicações que o resolvedor recursivo mantém com os servidores raiz, TLD e autoritativos são consultas iterativas. Nenhum desses servidores procura a resposta em seu nome. Em vez disso, respondem com a melhor informação de que dispõem, que geralmente é um encaminhamento que o aproxima um passo do destino. O resolvedor recursivo repete então o processo, percorrendo a hierarquia de forma iterativa até chegar a uma resposta autoritativa. Em resumo: o seu dispositivo faz perguntas de forma recursiva e o resolvedor trabalha de forma iterativa.
Armazenamento em cache e TTL em todas as camadas
Se cada pesquisa tivesse de percorrer todo o caminho até um servidor autoritativo, a Internet seria extremamente lenta e os servidores raiz entrariam em colapso devido à carga. O armazenamento em cache evita isso. Em quase todas as camadas, as respostas são armazenadas temporariamente para que possam ser reutilizadas. O seu navegador armazena em cache, o seu sistema operativo armazena em cache e o resolvedor recursivo armazena em cache intensamente.
O tempo durante o qual um registo pode permanecer em cache é controlado pelo seu TTL (time to live), medido em segundos e definido pelo proprietário do domínio. Um registo com um TTL de 3600 pode permanecer em cache durante uma hora antes de um resolvedor ter de obter uma cópia atualizada. TTLs curtos permitem alterar registos rapidamente, o que é útil durante uma migração de servidor, mas aumentam o volume de consultas. TTLs longos melhoram o desempenho e reduzem a carga, mas significam que as alterações demoram mais tempo a propagar-se por todo o mundo. É por isso que os administradores costumam reduzir o TTL de um registo um dia antes de uma alteração planeada e aumentá-lo novamente depois.
A hierarquia do DNS e os servidores raiz
O DNS está organizado como uma árvore invertida. No topo encontra-se a raiz, representada por um único ponto que normalmente é invisível. Abaixo da raiz estão os domínios de nível superior, como .com, .org e códigos de país como .uk ou .de. Abaixo de cada TLD encontram-se os domínios de segundo nível que indivíduos e organizações registam, como example.com. Abaixo destes encontram-se subdomínios como www ou mail. Ler um nome de domínio da direita para a esquerda leva-nos a percorrer a hierarquia, do geral para o específico.
A raiz é servida por um sistema famoso por ser descrito como os «13 servidores raiz». Na realidade, trata-se de 13 clusters nomeados, rotulados de A a M, cada um operado por uma organização diferente. Por trás de cada um desses 13 endereços encontram-se centenas de servidores físicos distribuídos por todo o mundo, utilizando uma técnica chamada «anycast», que encaminha o seu pedido para a instância disponível mais próxima. É assim que um pequeno número de pontos de entrada nomeados consegue responder de forma fiável às consultas de todo o planeta, com baixa latência e elevada resiliência contra interrupções e ataques.
Tipos de registos DNS explicados
A zona DNS de um domínio é um conjunto de registos, e cada tipo de registo tem uma finalidade distinta. Compreendê-los é essencial para quem gere um site ou administra e-mail. A tabela abaixo resume os tipos mais importantes, com um exemplo de cada um.
| Registo | Finalidade | Exemplo |
|---|---|---|
| A | Associa um nome a um endereço IPv4 | example.com → 93.184.216.34 |
| AAAA | Associa um nome a um endereço IPv6 | example.com → 2606:2800:220:1:248:1893:25c8:1946 |
| CNAME | Cria um alias de um nome para outro nome canónico | www.example.com → example.com |
| MX | Especifica os servidores de correio que aceitam e-mails para o domínio | 10 mail.example.com |
| TXT | Contém texto arbitrário, amplamente utilizado para a autenticação de e-mail | "v=spf1 include:_spf.example.com ~all" |
| NS | Delega um domínio aos seus servidores de nomes autoritativos | ns1.example.com |
| SOA | Início de autoridade; contém os metadados da zona e os temporizadores de atualização | ns1.example.com admin.example.com 2026070101 |
| CAA | Indica quais as autoridades de certificação que podem emitir certificados | 0 emitir «letsencrypt.org» |
| PTR | Pesquisa inversa, mapeando um endereço IP para um nome | 34.216.184.93.in-addr.arpa → example.com |
Registos A e AAAA
Estes são os elementos essenciais que ligam nomes a endereços. Um registo A aponta para um endereço IPv4, enquanto um registo AAAA aponta para um endereço IPv6. Um domínio pode ter ambos, para que os clientes de qualquer um dos protocolos possam aceder ao mesmo. Quando o seu navegador pergunta «onde fica example.com», é normalmente um destes dois registos que fornece a resposta final.
Registos CNAME
Um CNAME cria um alias, redirecionando um nome para outro nome canónico. É frequentemente utilizado para apontar «www» para o domínio simples, ou para apontar um subdomínio personalizado para o endereço de um fornecedor de alojamento. Uma regra fundamental é que um CNAME não pode coexistir com outros registos com o mesmo nome, razão pela qual a raiz de um domínio utiliza normalmente registos A ou AAAA em vez de um CNAME.
Registos MX e de e-mail
Os registos MX indicam quais os servidores que aceitam e-mail para o seu domínio, com um número de prioridade a determinar a ordem em que são tentados. São preferíveis os números mais baixos, pelo que um servidor com prioridade 10 é tentado antes de um com prioridade 20. Mas os registos MX são apenas uma parte da história do DNS do e-mail.
Registos TXT: SPF, DKIM e DMARC
Os registos TXT armazenam texto livre, e o mundo do e-mail depende fortemente deles para três mecanismos de autenticação interligados. O SPF lista os servidores autorizados a enviar e-mails em nome do seu domínio, ajudando os destinatários a rejeitar falsificações. O DKIM publica uma chave pública criptográfica para que os destinatários possam verificar se uma mensagem foi assinada pelo seu domínio e não foi alterada durante o trânsito. O DMARC une os dois, indicando aos destinatários o que fazer com as mensagens que falham nas verificações SPF ou DKIM e para onde enviar os relatórios. Juntos, formam a espinha dorsal da capacidade de entrega moderna do e-mail.
Registos NS e SOA
Os registos NS delegam autoridade, indicando os servidores responsáveis por uma zona. O registo SOA situa-se no topo de cada zona e contém detalhes administrativos, tais como o servidor de nomes primário, o contacto responsável, um número de série que muda quando a zona é editada e temporizadores que regulam a forma como os servidores secundários atualizam as suas cópias da zona.
Registos CAA e PTR
Um registo CAA restringe quais as autoridades de certificação autorizadas a emitir certificados para o seu domínio, adicionando uma camada de proteção contra certificados não autorizados. Se quiser compreender como esses certificados protegem o seu tráfego, consulte o nosso guia explicativo sobre certificados SSL. Um registo PTR gere o DNS inverso, mapeando um endereço IP para um nome de anfitrião, o que é frequentemente verificado pelos servidores de e-mail para avaliar a legitimidade de um remetente.
DNS e capacidade de entrega de e-mail
O DNS é, sem dúvida, tão importante para o e-mail como para a Web. Quando um servidor de e-mail pretende entregar uma mensagem no seu domínio, consulta os seus registos MX para encontrar o destino correto. Quando um servidor recetor pretende determinar se uma mensagem recebida é fiável, verifica os seus registos SPF, DKIM e DMARC e, frequentemente, verifica também o registo PTR do servidor remetente. Se algum destes registos estiver em falta ou mal configurado, o e-mail legítimo pode acabar na pasta de spam ou ser rejeitado de imediato. Garantir que os seus registos DNS de e-mail estão corretos é uma das medidas de maior impacto que pode tomar para garantir que as suas mensagens chegam à caixa de entrada, em vez de desaparecerem na pasta de lixo eletrónico.
Segurança do DNS
Como o DNS é tão fundamental, tornou-se um alvo, e existem várias tecnologias para o reforçar:
- O DNSSEC adiciona assinaturas criptográficas aos registos DNS para que os resolvedores possam verificar se uma resposta provém genuinamente da fonte autorizada e não foi adulterada. Protege a integridade dos dados, mas não os encripta.
- O DNS sobre HTTPS (DoH) e o DNS sobre TLS (DoT) encriptam a comunicação entre o seu dispositivo e o resolvedor recursivo. Tradicionalmente, as consultas DNS eram transmitidas em texto simples, permitindo que qualquer pessoa no caminho da rede as visse e até as alterasse. O DoH e o DoT colmatam essa lacuna, envolvendo as consultas em encriptação.
- O «cache poisoning» é um ataque clássico em que um agente malicioso induz um resolvedor a armazenar em cache uma resposta falsa, redirecionando as vítimas para um servidor fraudulento. O DNSSEC e as proteções modernas dos resolvedores, tais como as portas de origem aleatórias, tornam este ataque muito mais difícil de concretizar.
Problemas comuns do DNS e resolução de problemas
Quando um site não carrega, o DNS é frequentemente o culpado. Alguns dos problemas mais frequentes incluem:
- Atrasos de propagação. Depois de alterar um registo, os valores antigos armazenados em cache podem persistir até que o seu TTL expire. É por isso que uma alteração pode aparecer ativa para si, mas ainda não para os outros.
- Erros ortográficos e registos em falta. Um nome de anfitrião mal escrito ou um registo A esquecido conduzem a falhas que são fáceis de ignorar.
- Servidores de nomes incompatíveis. Se o seu registador apontar o domínio para servidores de nomes errados, nenhum dos seus registos cuidadosamente criados será consultado.
- CNAMEs em conflito. Colocar um CNAME ao lado de outros registos com o mesmo nome interrompe a resolução.
- Cache do resolvedor. Por vezes, o problema é uma entrada desatualizada no seu próprio dispositivo ou router, o que se resolve esvaziando a cache.
Como verificar os registos DNS por conta própria
Não é preciso ser engenheiro de redes para consultar registos DNS. Ferramentas de linha de comandos como o dig e o nslookup, disponíveis na maioria dos sistemas, permitem-lhe consultar diretamente qualquer tipo de registo. Por exemplo, ao solicitar o registo A de um domínio, obtém-se o seu endereço IPv4, enquanto que ao solicitar registos MX, revelam-se os seus servidores de e-mail. Se não preferir a linha de comandos, uma ferramenta online de pesquisa de DNS permite-lhe consultar os registos de qualquer domínio a partir do seu navegador, sem necessidade de instalar software, facilitando a confirmação de que uma alteração recente foi propagada ou o diagnóstico de uma configuração incorreta.
Adquirir o hábito de verificar os registos DNS desmistifica todo o sistema. Assim que conseguir ver os registos A, MX e TXT do seu próprio domínio, a «lista telefónica» abstrata transforma-se num conjunto concreto e compreensível de entradas que você controla. A partir daí, diagnosticar um site lento, um e-mail devolvido ou um aviso de certificado passa a ser uma questão de ler os registos, em vez de adivinhar.
Perguntas frequentes
O que significa DNS?
DNS significa Sistema de Nomes de Domínio. É o sistema distribuído que traduz nomes de domínio legíveis para humanos em endereços IP numéricos que os computadores utilizam para comunicarem entre si.
Porque é que o DNS é chamado de «lista telefónica da Internet»?
Tal como uma lista telefónica permite procurar o número de telefone de uma pessoa a partir do seu nome, o DNS permite que o seu computador procure o endereço IP de um site a partir do seu nome de domínio. Você lembra-se do nome fácil e o DNS trata da conversão para o número de que as máquinas realmente precisam.
Quanto tempo demoram as alterações no DNS a entrar em vigor?
Depende do TTL do registo e da intensidade com que os resolvedores ao longo do percurso o armazenaram em cache. As alterações podem aparecer em poucos minutos se o TTL for curto, mas podem demorar até 24 a 48 horas a propagar-se totalmente a nível mundial quando ainda estão a ser utilizados valores antigos armazenados em cache.
Qual é a diferença entre um resolvedor recursivo e um servidor autoritativo?
Um resolvedor recursivo faz o trabalho de encontrar uma resposta, consultando outros servidores em seu nome e armazenando o resultado em cache. Um servidor autoritativo é a fonte definitiva que realmente contém os registos de um domínio e fornece a resposta final.
O DNS é encriptado?
O DNS tradicional não é encriptado, o que significa que as consultas são transmitidas em texto simples. Padrões mais recentes, como o DNS sobre HTTPS e o DNS sobre TLS, encriptam o tráfego entre o seu dispositivo e o resolvedor, enquanto o DNSSEC adiciona assinaturas que verificam a autenticidade das respostas.
Como posso verificar os registos DNS de um domínio?
Pode utilizar ferramentas de linha de comandos como o dig ou o nslookup, ou um serviço de pesquisa de DNS baseado num navegador. Estas ferramentas permitem-lhe solicitar tipos de registos específicos, como A, AAAA, MX e TXT, para que possa verificar a configuração ou resolver problemas.