DNS: o que é, como funciona e qual escolher?

DNS: o que é, como funciona e qual escolher?
Leonardo Sartorello
Leonardo Sartorello

Compartilhe

Sempre que vamos acessar um site ou fazer uma requisição na internet, usamos uma URL, como alura.com.br e google.com , por exemplo. Contudo, os computadores não sabem como se conectar à Alura ou ao Google, já que para isso precisam de endereços IP.

Para auxiliar essa tarefa, foram criados os servidores DNS, que fazem a tradução e conversão dos nomes para endereços que podemos utilizar de forma rápida e normalmente imperceptível.

O que é DNS?

O termo DNS significa Domain Name System, ou sistema de nomes de domínios, e contém o registro de todos os domínios da internet. A sua função não é hospedar sites ou aplicações que criamos, mas sim permitir que as requisições cheguem aos locais corretos.

Um servidor DNS é feito única e exclusivamente para a tradução de domínios para endereços de IP, então vamos entender como os servidores DNS podem realizar a sua tarefa e como são passadas as requisições para ele.

O que é uma rede DNS?

Uma rede DNS é um sistema composto por servidores de DNS que cooperam juntos para a tradução de domínios para endereços IP. Ela é uma infraestrutura invisível que funciona por trás dos panos e opera com servidores em várias camadas para garantir a eficácia da tradução de domínios em endereços IP e que os dispositivos possam se comunicar efetivamente na rede global.

O que é DNS privado?

Quando escutamos “DNS privado”, a primeira coisa que pode vir na cabeça é que é um DNS mais seguro. Porém, não necessariamente: o DNS privado não é público. Um DNS privado é configurado para operar em uma organização ou rede específica, oferecendo um desempenho personalizado e maior privacidade.

Já o DNS público, como exemplo, podemos mencionar o Google DNS, também conhecido como Google Public DNS. Por outro lado, um exemplo de DNS privado é o da sua própria residência.

Banner promocional da Alura, com um design futurista em tons de azul, apresentando dois blocos de texto, no qual o bloco esquerdo tem os dizeres:

Para que serve o DNS na rede e como ele funciona?

Quando escrevemos uma URL no navegador, como alura.com.br, por exemplo, o nosso computador não sabe como se conectar com o site da Alura, mas ele conhece alguém que sabe: o servidor DNS. Então, ele manda uma requisição pedindo para o DNS responder com o endereço IP do site.

Agora, quando essa requisição chegar no servidor DNS, ele tem que agir rápido. Para isso, mantém-se um cache, ou uma cópia da informação, em memória RAM e vão primeiro olhar o cache para ver se tem uma resposta.

Se não encontrar, têm que fazer uma requisição para um Servidor raiz, um servidor parecido com o DNS, que guarda informações de outros servidores e que irá responder com um endereço de um servidor de domínio de nível superior, ou servidor TLD.

O que é o servidor TLD e para que serve?

O servidor TLD é o servidor responsável por guardar informações da última parte da ULR, o .com, .net, .org e assim por diante, sendo um servidor para cada, e a tarefa dele é responder a última requisição com o endereço do servidor DNS autoritativo.

O que é o servidor DNS autoritativo e para que serve?

Por último, o servidor DNS autoritativo, que conhece o endereço de onde o site está hospedado, responde o servidor DNS com o endereço, e assim, o DNS pode te responder com o endereço IP.

Na imagem vemos todo o processo de funcionamento dos servidores DNS como mostrado anteriormente

Quais são os tipos de servidores DNS?

  • Servidor DNS Primário (Primary DNS Server)

O servidor DNS primário é o servidor principal e que é responsável por armazenar e fornecer as informações de resolução de nomes de domínio. Por ser primário, quando um dispositivo precisa fazer a tradução de um nome de domínio, ele será o primeiro servidor a ser consultado. Além disso, ele tem seu próprio endereço IP.

  • Servidor DNS Secundário (Secondary DNS Server)

O servidor DNS secundário é um servidor de backup que replica as informações do servidor DNS primário. Ele é utilizado para aumentar a disponibilidade e a redundância do serviço de resolução de nomes de domínio, então, se o primeiros servidor não estiver disponível, o servidor secundário é usado para recuperar registros DNS.

  • Servidor DNS Terciário (Tertiary DNS Server)

Assim como o secundário, o servidor terciário também replica informações do servidor primário, como uma camada de backup. Caso o primeiro e o segundo servidor não estiverem disponíveis, ainda existe o servidor DNS terciário como um extra para garantir disponibilidade de registros DNS.

Segurança de DNS

Os servidores DNS são de muita importância no funcionamento da internet, e caso encontrem problemas, tanto de performance quanto de segurança, podemos ter uma experiência ruim na internet. Pode ser que ela fique lenta para carregar sites ou nos direcione para sites errados ou comprometidos, abrindo espaço para a aplicação de golpes e roubos de informações sensíveis.

Sendo assim, escolher um servidor DNS bom é uma decisão importante, e se for feita corretamente, só precisaremos fazê-la uma ou poucas vezes. Antes de saber como escolher um DNS, vamos falar de algumas tecnologias de segurança que estão aparecendo hoje em dia.

ECS

O ECS é uma extensão do DNS padrão. É um campo que, se habilitado pelo DNS, permite com que seja mais rápido responder às requisições, já que é possível fazer um balanceamento de carga, load balancing, para uma rede no próprio DNS. Então, você se conecta apenas ao servidor geograficamente mais próximo de você.

Porém, isso pode trazer algumas implicações de segurança, já que está revelando de qual local você está fazendo a requisição. Essa informação é aproximada a uma cidade ou bairro, então não contém seu endereço em si, mas revela algumas informações.

DNSSEC

O DNSSEC também é uma extensão do DNS padrão, e quer dizer Extensões de segurança do sistema de nomes de domínio, ou Domain Name System Security Extensions, e sua principal função é reduzir o risco de manipulação de informações e domínios forjados.

Seu funcionamento se dá com a utilização de chaves público-privadas, onde elas são utilizadas para assinar as respostas do DNS, com uma chave para cada domínio, não por requisição, parecido com um certificado HTTPS.

DNS sobre HTTPS ou TLS

O DNS sobre HTTPS ou o NS sobre TLS são uma maneira de criptografar a informação e transferi-la para o servidor DNS. Assim, independente de quem esteja analisando o tráfego de uma rede, podendo ser outros dispositivos ou até mesmo o provedor, não terão acesso às informações.

O HTTPS é um protocolo muito conhecido, mas o TLS não é uma sigla tão famosa, apesar de ser usado o TLS no HTTPS para realizar a criptografia. Então, ambos têm o mesmo nível de segurança. Quando falamos de DNS a única diferença entre eles é a porta utilizada, com o HTTPS na porta 443 e o TLS na porta 853.

Como a porta para o DNS sobre TLS é exclusiva para essa função, pode acabar chamando atenção para os pacotes, mesmo sem poder acessar o seu conteúdo, enquanto todo o protocolo HTTPS passa pela porta 443, fazendo com que as requisições DNS não sejam percebidas.

Pontos importantes

O servidor DNS pode sempre ver quais sites você está acessando, mas nunca o conteúdo que você está acessando, e sabe exatamente qual é o seu endereço IP, já que tem que fazer uma resposta a sua requisição. Isso ocorre em redes privadas, como da sua casa, em uma rede pública, como de restaurante ou shopping, ou através de VPNs, ou túneis SSH.

Sendo assim, é importante escolher um DNS que não irá fazer a venda dessas informações ou armazená-las.

DNS mais conhecidos

Existem diversos provedores de serviços DNS, cada um com suas características e particularidades. A seguir, você confere alguns dos DNS mais conhecidos e suas especificações, funcionalidades e importância no funcionamento da internet.

Google DNS (Google Public DNS)

O servidor DNS do Google é um dos servidores DNS mais famosos pelo mundo e cumpre muito bem a sua tarefa, tem um bom registro de privacidade e suporta DNS sobre HTTPS e DNSoverTSL para maior segurança e ECS para maior velocidade.

Endereços IPV4:

  • 8.8.8.8
  • 8.8.4.4

Endereços IPV6:

  • 2001:4860:4860:0:0:0:0:8888
  • 2001:4860:4860:0:0:0:0:8844

Por que usar o DNS Google?

Cloudflare DNS

O DNS da Cloudflare é relativamente recente, criado em 2018, é um DNS focado em segurança e privacidade, além de ser muito rápido por utilizar a rede da Cloudflare, que conta com vários servidores pelo mundo todo, suporta DNS sobre HTTPS, DNS sobre TSL e DNSSEC. Além disso, a Cloudflare fechou contratos com empresas de auditoria para apagar qualquer registro de acesso em até 24h.

Endereços IPV4:

  • 1.1.1.1
  • 1.0.0.1

Endereços IPV6:

  • 2606:4700:4700::1111
  • 2606:4700:4700::1001

OpenDNS

O OpenDNS é uma parte da Cisco, e é um DNS bastante utilizado com opções de ECS e DNSSEC, porém suporta apenas DNS sobre TLS, então, nem todas as requisições podem ter tanta privacidade.

Endereços IPV4:

  • 208.67.222.220
  • 208.67.222.222
  • 208.67.222.213
  • 208.67.220.220
  • 208.67.220.222
  • 208.67.220.213

Endereços IPV6:

  • 2620:119:35::35
  • 2620:119:53::53

Qual o melhor DNS? Saiba como escolher

Se a sua escolha de qual DNS usar for baseada apenas em desempenho e tempo de resposta, é possível utilizar um programa e medir esses tempos, te ajudando a escolher a melhor opção. É possível baixar esse programa para Windows diretamente através do site ou clicando aqui.

Para Linux, existe o namebench que pode ser obtido através dos gerenciadores de pacotes como apt e pacman. Para fazer o teste basta abrir o programa, e clicar em “Nameservers”:

Janela do programa DNS Benchmark.

Selecione "Run Benchmark” e espere finalizar o processo, que pode demorar até 10 minutos para finalizar.

Janela do programa DNS Benchmark.

Depois que for finalizado, teremos uma lista com o tempo de resposta organizado por ordem crescente, geralmente o primeiro da lista é o servidor DNS que está dentro do seu roteador. Então, podemos desconsiderá-lo, e ao clicarmos em algum deles, irá aparecer uma descrição com os tempos de resposta de cada DNS. Nesse caso, a melhor opção é o Cloudflare e o OpenDNS.

Janela do programa DNS Benchmark.

Como configurar o DNS

Agora que vimos o que é servidor DNS, para que serve e quais as opções mais conhecidas, é fundamental saber como configurá-lo. Para podermos usar o DNS escolhido precisamos configurá-lo na rede ou no dispositivo. O DNS configurado na rede é utilizado por todos os dispositivos conectados a ela, desde que o dispositivo não tenha uma configuração própria.

As configurações no dispositivo, por sua vez, variam entre os sistemas operacionais, com MacOS, Windows e Linux, que permitem a definição de múltiplos servidores DNS, diretamente nas configurações. Já sistemas como Android e IOS, necessitam de aplicativos para essa configuração, ou a definição em cada rede Wi-Fi, sem ser possível alterar o DNS da rede móvel.

O profissional de redes - Alura Live #92

FAQ

Como saber o servidor DNS de um site?

Descobrir o servidor DNS de um site específico é uma tarefa complicada pois os registros DNS de um site ficam configurados no lado do proprietário do domínio e não ficam disponíveis publicamente. É possível ver registros DNS associados a ele utilizando o comando nslookup, mas não detalhes sobre o servidor DNS do site.

Como saber qual o DNS da minha rede?

Você pode utilizar o CMD para saber o DNS da sua rede. Abra o prompt de comando e digite ipconfig /all. Ao pressionar Enter, será exibida uma lista de informações; busque por “Servidores de DNS”.

O que acontece se eu mudar o DNS?

O resultado de alterar o DNS depende de como você configurou o novo servidor DNS. A alteração pode ser feita para mudar a responsividade da internet, promover mais privacidade, restrições de acesso e outros fatores.

Como configurar DNS no celular?

Para configurar o DNS no seu celular, o processo varia entre dispositivos iOS e Android. Para dispositivos iOS, siga estas etapas:

  • Abra o aplicativo "Configurações" no seu dispositivo.
  • Encontre e toque em "Wi-Fi".
  • Selecione a rede Wi-Fi à qual você está conectado.
  • Toque em "Configurar Wi-Fi" e você poderá personalizar as configurações, incluindo o DNS.

Para dispositivos Android, o processo é ligeiramente diferente:

  • Abra o aplicativo "Configurações" no seu dispositivo Android.
  • Encontre e toque em "Wi-Fi".
  • Selecione a rede Wi-Fi à qual você está conectado.
  • Toque em "Editar" ou "Gerenciar configurações de rede" ou "Configurações".
  • Em seguida, role para baixo e toque em "Configurações avançadas" ou "Configurações de IP".
  • Escolha "Estático" e, a partir daí, você pode personalizar as configurações, incluindo o DNS.

Para aprender mais sobre o assunto, você pode conferir os links a seguir:

Leonardo Sartorello
Leonardo Sartorello

Leonardo é desenvolvedor e instrutor na Alura com foco principal em DevOps e Cloud, com experiência em virtualização, conteinerização, infraestrutura como código e IoT.

Veja outros artigos sobre DevOps