O que é um Resolvedor de DNS?
Um resolvedor de DNS (também chamado de resolvedor recursivo ou servidor DNS recursivo) é um servidor que recebe consultas de DNS de dispositivos cliente e realiza o trabalho de rastrear o endereço IP para um nome de domínio. Os resolvedores atuam como intermediários entre clientes e a hierarquia de DNS, lidando com a recursão através de nameservers raiz, TLD e autoritativos.
Como Funcionam Resolvedores de DNS
O Processo de Resolução
Quando você digita "example.com" no seu navegador:
1. Client → Resolver: "What's the IP for example.com?"
2. Resolver checks cache
→ Cache hit: Return cached result
→ Cache miss: Begin recursion
3. Resolver → Root Server: "Where's .com?"
Root → Resolver: "Ask these .com nameservers"
4. Resolver → .com TLD: "Where's example.com?"
.com → Resolver: "Ask these nameservers"
5. Resolver → Authoritative NS: "What's example.com's IP?"
Auth NS → Resolver: "203.0.113.50"
6. Resolver → Client: "203.0.113.50"
(Also caches result based on TTL)
Consultas Recursivas vs Iterativas
Consulta Recursiva (Cliente → Resolvedor):Client: "Give me the final answer for example.com"
Resolver: "Here's the IP: 203.0.113.50"
(Resolver does all the work)
Consulta Iterativa (Resolvedor → Nameservers):
Resolver: "What's example.com?"
Root: "I don't know, ask .com servers"
Resolver: "What's example.com?"
.com: "I don't know, ask ns1.example.com"
Resolver: "What's example.com?"
ns1: "203.0.113.50"
Tipos de Resolvedores
Resolvedor Stub
Incorporado em sistemas operacionais e aplicações:
- Encaminha consultas para servidores DNS configurados
- Lógica mínima
- Não executa recursão
Resolvedor Recursivo
Servidores completos que executam resolução de DNS completa:
- Armazena resultados em cache
- Segue referências
- Implementa recursos de segurança
Resolvedor de Encaminhamento
Encaminha consultas para outro resolvedor em vez de executar recursão:
- Comum em redes corporativas
- Aplicação de política central
- Menos consultas externas
Client → Corporate Resolver (forwarding) → ISP Resolver (recursive) → Internet
Resolvedores Públicos Populares
| Provedor | IPv4 | IPv6 | Recursos |
|---|---|---|---|
| Cloudflare | 1.1.1.1, 1.0.0.1 | 2606:4700:4700::1111 | Rápido, foco em privacidade, sem logging |
| 8.8.8.8, 8.8.4.4 | 2001:4860:4860::8888 | Confiável, anycast global | |
| Quad9 | 9.9.9.9 | 2620:fe::fe | Filtragem de segurança, bloqueio de ameaça |
| OpenDNS | 208.67.222.222 | 2620:119:35::35 | Filtragem de conteúdo, proteção contra phishing |
Alterando Seu Resolvedor
Windows:Control Panel → Network → Adapter Settings
→ Properties → IPv4 → Use these DNS servers:
Preferred: 1.1.1.1
Alternate: 8.8.8.8
macOS:
System Preferences → Network → Advanced → DNS
→ Add: 1.1.1.1, 8.8.8.8
Linux (/etc/resolv.conf):
nameserver 1.1.1.1
nameserver 8.8.8.8
Recursos do Resolvedor
Cache
Resolvedores armazenam respostas de DNS com base em TTL:
First query: example.com
→ Full recursion (50ms)
→ Cached for 300s (TTL)
Subsequent queries: example.com
→ Cache hit (1ms)
→ Served until TTL expires
Estatísticas de cache geralmente mostram taxas de hit acima de 80-90%.
Cache Negativo
Resolvedores também armazenam respostas negativas em cache (NXDOMAIN):
Query: nonexistent.example.com
Response: NXDOMAIN
Cached: Based on SOA minimum TTL
Isso evita consultas repetidas para domínios não existentes.
Minimização de Consulta
Resolvedores modernos minimizam divulgação de informações:
Tradicional:Query to .com: "What's www.blog.example.com?"
→ Exposes full subdomain structure
Minimização de Consulta (RFC 7816):
Query to .com: "What's example.com?"
Query to example.com NS: "What's blog.example.com?"
Query to blog.example.com NS: "What's www.blog.example.com?"
→ Reveals only necessary information at each level
Validação DNSSEC
Resolvedores conscientes de segurança validam assinaturas DNSSEC:
Query: example.com (DNSSEC-signed)
→ Resolver validates signatures
→ Returns AD (Authentic Data) flag if valid
→ Returns SERVFAIL if signatures invalid
Recursos de Segurança do Resolvedor
DNS sobre HTTPS (DoH)
Criptografa consultas de DNS sobre HTTPS:
Traditional DNS:
Client → Resolver (UDP port 53, plaintext)
DNS over HTTPS:
Client → Resolver (TCP port 443, encrypted)
Provedores: Cloudflare (https://cloudflare-dns.com/dns-query), Google
DNS sobre TLS (DoT)
Criptografa consultas de DNS sobre TLS:
Client → Resolver (TCP port 853, encrypted)
Benefício: ISPs não podem ver ou modificar consultas de DNS
Filtragem de Malware/Phishing
Alguns resolvedores bloqueiam domínios maliciosos conhecidos:
Quad9 (9.9.9.9): Bloqueia domínios associados a malware, phishing Cloudflare para Famílias: Bloqueia malware (1.1.1.2) ou malware+conteúdo adulto (1.1.1.3)Limitação de Taxa
Protege contra ataques de amplificação de DNS:
If source IP sends > threshold queries/second:
→ Temporarily rate limit or block
Verificando Seu Resolvedor Atual
Windows:ipconfig /all | findstr "DNS Servers"
macOS/Linux:
cat /etc/resolv.conf
Ferramentas Online: browserleaks.com/dns mostra qual resolvedor seu navegador usa
Testar resolução:
dig example.com
# Look at "SERVER:" in output
Desempenho do Resolvedor
Importância de Latência
Tempo de resposta do resolvedor impacta desempenho web:
| Resolvedor | Latência Média | Impacto |
|---|---|---|
| ISP Local | 10-30ms | Rápido, mas varia |
| Cloudflare | 10-20ms | Consistentemente rápido (anycast) |
| 20-40ms | Confiável, global | |
| Resolvedor Lento | 100-200ms | Atraso notável no carregamento de página |
Roteamento Anycast
Resolvedores principais usam anycast para baixa latência:
1.1.1.1 anycast IP
→ Routed to nearest Cloudflare datacenter
→ New York query → New York datacenter
→ London query → London datacenter
→ Result: Global low-latency resolution
Medindo Desempenho do Resolvedor
Usando Namebench (testes automatizados):# Tests multiple resolvers with your actual query patterns
namebench
Testes Manuais:
# Test Cloudflare
time dig @1.1.1.1 example.com
# Test Google
time dig @8.8.8.8 example.com
# Test ISP (current)
time dig example.com
Problemas Comuns do Resolvedor
Envenenamento de DNS
Os atacantes injetam registros falsos em cache do resolvedor:
Mitigação:- Usar resolvedores com validação DNSSEC
- Habilitar randomização de porta de origem
- Usar DoH/DoT para prevenir ataques man-in-the-middle
Sequestro de Resolvedor
ISPs ou malware redirecionam consultas de DNS:
Sintoma: Pesquisas mostram anúncios de ISP, redirecionamentos inesperados Solução:- Mudar para resolvedor público (1.1.1.1, 8.8.8.8)
- Usar DoH/DoT para evitar interferência de ISP
- Verificar malware
Cache Antigo
Resolvedores em cache armazenam registros desatualizados:
Sintoma: Mudanças de DNS não refletem Solução:- Aguardar TTL expirar
- Usar resolvedor diferente temporariamente
- Limpar cache local
Bloqueio de Resolvedor
Algumas redes bloqueiam resolvedores externos:
Sintoma: Não consegue alcançar 8.8.8.8, 1.1.1.1 Solução:- Usar DNS sobre HTTPS (mais difícil de bloquear)
- Usar ponto de extremidade DoH do resolvedor
Configurando um Resolvedor Local
Usando Unbound
# Install Unbound (Linux)
sudo apt install unbound
# Basic config (/etc/unbound/unbound.conf)
server:
interface: 127.0.0.1
do-ip4: yes
do-udp: yes
do-tcp: yes
# Enable DNSSEC
auto-trust-anchor-file: "/var/lib/unbound/root.key"
# Privacy (query minimization)
qname-minimisation: yes
# Start service
sudo systemctl start unbound
sudo systemctl enable unbound
Usando Pi-hole
Resolvedor de DNS de bloqueio de anúncios em toda a rede:
# Install Pi-hole
curl -sSL https://install.pi-hole.net | bash
# Configure devices to use Pi-hole as resolver
# Set router DHCP to provide Pi-hole IP as DNS
Melhores Práticas
1. Usar resolvedores públicos reputados: Cloudflare, Google ou Quad9 para confiabilidade
2. Habilitar DoH/DoT: Criptografar consultas para privacidade e segurança
3. Considerar recursos do resolvedor: Escolher com base em necessidades de privacidade, velocidade ou segurança
4. Monitorar desempenho do resolvedor: Testar latência periodicamente
5. Ter resolvedores de backup: Configurar DNS secundário para redundância
6. Usar resolvedores validadores de DNSSEC: Proteger contra envenenamento de cache
7. Entender políticas do resolvedor: Alguns filtram conteúdo, alguns registram consultas
8. Testar após mudanças: Verificar que resolução de DNS funciona corretamente
9. Documentar escolha de resolvedor: Anotar por que escolheu um resolvedor particular
10. Atualizar resolv.conf cuidadosamente: Configuração incorreta quebra DNS completamente
Resolvedor vs Servidor de Nomes Autoritativo
| Recurso | Resolvedor | NS Autoritativo |
|---|---|---|
| Função | Responde consultas de cliente | Contém registros de DNS reais |
| Recursão | Sim, consulta outros servidores | Não, apenas responde para suas zonas |
| Cache | Sim, armazena respostas | Não (dados autoritativos) |
| Usado por | Clientes, usuários finais | Resolvedores durante recursão |
| Exemplos | 8.8.8.8, 1.1.1.1 | ns1.example.com |
Resolvedores de DNS são a força de trabalho do sistema DNS — escolher um resolvedor rápido, seguro e respeitador de privacidade impacta significativamente sua experiência de navegação e segurança online.