O DNS (Domain Name System) é a fundação invisível de toda a infraestrutura de rede moderna — resolve nomes em endereços IP, encaminha email, valida identidades e suporta centenas de outros serviços. Quando o DNS falha, tudo falha: websites, email, autenticação, VPN, Microsoft 365. Paradoxalmente, é também um dos sistemas menos compreendidos em detalhe pelos profissionais de IT.
Este artigo é uma referência completa para sysadmins e helpdesk — cobre todos os tipos de registo DNS relevantes para ambientes empresariais, como interpretar uma zona DNS, as ferramentas de diagnóstico essenciais e os problemas mais comuns com procedimento de resolução.
Neste artigo
- Como o DNS funciona — resolução iterativa e recursiva
- Tipos de registos DNS — referência completa
- Anatomia de uma zona DNS — SOA, NS e TTL
- DNS interno vs externo — Split-Brain DNS
- Ferramentas de diagnóstico — nslookup, dig e Resolve-DnsName
- Problemas comuns e resolução
- DNS no Windows Server — gestão e logs
- Boas práticas e TTLs recomendados
1. Como o DNS funciona — resolução iterativa e recursiva
Quando um utilizador escreve www.empresa.pt no browser, desencadeia-se uma cadeia de consultas DNS que demora tipicamente alguns milissegundos:
| Passo | O que acontece | Resposta |
|---|---|---|
| 1 | Browser verifica cache local (hosts file + cache do SO) | Se encontrar → resposta imediata |
| 2 | Consulta o resolver recursivo configurado (ex: 8.8.8.8 ou DNS do ISP) | O resolver verifica a sua própria cache |
| 3 | Resolver pergunta aos Root Servers: “Quem gere .pt?” | Referência para os servidores TLD .pt (FCCN) |
| 4 | Resolver pergunta ao TLD .pt: “Quem gere empresa.pt?” | Referência para os nameservers autoritativos de empresa.pt |
| 5 | Resolver pergunta ao nameserver autoritativo: “Qual o IP de www.empresa.pt?” | Resposta definitiva com o IP — guardada em cache pelo TTL |
2. Tipos de registos DNS — referência completa
| Tipo | Função | Exemplo | Nota |
|---|---|---|---|
| A | Nome → IPv4 | www → 1.2.3.4 | O registo mais fundamental — múltiplos A por nome para load balancing |
| AAAA | Nome → IPv6 | www → 2001:db8::1 | IPv6 — equivalente ao A para IPv6. Crescentemente necessário |
| CNAME | Alias para outro nome | mail → empresa.pt | Não pode coexistir com outros registos no mesmo nome. Não pode ser usado no apex (@) |
| MX | Servidor de email do domínio | @ 10 mail.empresa.pt | O número é a prioridade — menor valor = maior prioridade. O valor tem de ser um nome (A record), nunca um IP |
| TXT | Texto livre — SPF, DKIM, DMARC, verificação de domínio | @ “v=spf1 include:…” | Múltiplos TXT permitidos no mesmo nome. SPF, DKIM e verificações M365 usam TXT |
| NS | Nameservers autoritativos da zona | @ ns1.registrar.pt | Definido no registar do domínio. Alteração tem impacto global na resolução do domínio |
| SOA | Start of Authority — metadados da zona | Serial, Refresh, Retry… | Criado automaticamente. Serial deve ser incrementado em cada alteração à zona |
| PTR | IP → Nome (DNS inverso) | 4.3.2.1.in-addr.arpa → mail.empresa.pt | Gerido pelo dono do bloco IP (ISP). Essencial para entregabilidade de email |
| SRV | Localização de serviço (porta + servidor) | _sip._tcp → 5060 sipserver.pt | Usado por Lync/Teams, Autodiscover, SIP, LDAP |
| CAA | Autoridade de emissão de certificados SSL | @ 0 issue “letsencrypt.org” | Define quais CAs podem emitir certificados para o domínio — boa prática de segurança |
3. Anatomia de uma zona DNS — SOA, NS e TTL
Uma zona DNS é o conjunto de registos que define um domínio. O registo SOA (Start of Authority) é o primeiro e mais importante — define quem tem autoridade sobre a zona e os parâmetros de sincronização entre servidores DNS primário e secundários.
# Estrutura de um registo SOA completo empresa.pt. IN SOA ns1.registar.pt. hostmaster.empresa.pt. ( 2024040701 ; Serial — formato YYYYMMDDNN — incrementar em cada alteração 86400 ; Refresh — segundos antes do secundário verificar alterações (24h) 7200 ; Retry — segundos de espera se o primário não responder (2h) 604800 ; Expire — segundos até o secundário parar de responder sem contacto (7 dias) 300 ; Minimum TTL — TTL de respostas negativas NXDOMAIN (5 min) ) # Verificar SOA de um domínio nslookup -type=soa empresa.pt Resolve-DnsName empresa.pt -Type SOA
TTL — Time To Live
O TTL define quanto tempo os resolvers externos guardam em cache os registos DNS. É fundamental para gerir propagação de alterações:
| Cenário | TTL recomendado | Motivo |
|---|---|---|
| Registos estáveis (MX, NS de subdomínios) | 3600–86400 (1h–24h) | Reduz carga nos nameservers; cache longa acelera resolução |
| Antes de alterar um registo importante | 300 (5 min) — baixar 24–48h antes | Acelera a propagação da alteração — o antigo TTL ainda determina quanto tempo leva a propagar |
| Após confirmar que a alteração propagou | Repor para 3600+ | TTL muito baixo aumenta a carga nos nameservers e latência de resolução |
| SPF, DKIM, DMARC (registos TXT de email) | 3600 (1h) | Equilíbrio entre propagação rápida e carga nos servidores |
4. DNS interno vs externo — Split-Brain DNS
Em ambientes empresariais com Active Directory, é comum ter duas zonas DNS para o mesmo domínio: uma interna (no DNS do AD, resolvida pelos PCs dentro da rede) e uma externa (no registar/Cloudflare, resolvida pela Internet). Este modelo chama-se Split-Brain DNS (ou Split-Horizon).
| DNS Interno (AD) | DNS Externo (Registar / Cloudflare) | |
|---|---|---|
| Quem usa | PCs e servidores dentro da rede LAN | Toda a Internet |
| www.empresa.pt resolve para | IP privado do servidor web (192.168.x.x) | IP público do servidor web |
| Registos específicos | Servidores internos, DCs, impressoras, ERPs | MX, SPF, DKIM, DMARC, Autodiscover |
| Problema típico | Alteração no DNS externo não reflecte no DNS interno — dois lugares para actualizar | Não contém IPs privados — correcto |
5. Ferramentas de diagnóstico — nslookup, Resolve-DnsName e dig
# ─── NSLOOKUP (Windows/Linux) ──────────────────────────────────────────────── nslookup empresa.pt # Registo A do domínio nslookup -type=mx empresa.pt # Registos MX nslookup -type=txt empresa.pt # Registos TXT (SPF, DKIM, verificações) nslookup -type=ns empresa.pt # Nameservers do domínio nslookup empresa.pt 8.8.8.8 # Consultar especificamente o DNS do Google (bypassar cache local) nslookup empresa.pt 1.1.1.1 # Consultar especificamente o DNS da Cloudflare # ─── RESOLVE-DNSNAME (PowerShell — mais legível) ────────────────────────────── Resolve-DnsName empresa.pt -Type A # Registo A Resolve-DnsName empresa.pt -Type MX # Registos MX ordenados por prioridade Resolve-DnsName empresa.pt -Type TXT # Registos TXT Resolve-DnsName empresa.pt -Server 8.8.8.8 # Usar servidor DNS específico Resolve-DnsName empresa.pt -NoHostsFile -DnsOnly # Ignorar cache local e hosts file # ─── DIG (Linux / WSL / macOS) ─────────────────────────────────────────────── dig empresa.pt # Registo A (output detalhado) dig MX empresa.pt # Registos MX dig TXT empresa.pt # Registos TXT dig empresa.pt +short # Apenas o IP, sem output verbose dig empresa.pt +trace # Trace da resolução desde os root servers dig @8.8.8.8 empresa.pt # Usar DNS do Google # Verificar propagação DNS — comparar dois resolvers Resolve-DnsName empresa.pt -Server 8.8.8.8 # Google DNS Resolve-DnsName empresa.pt -Server 1.1.1.1 # Cloudflare DNS # Limpar cache DNS local (Windows) ipconfig /flushdns Clear-DnsClientCache
6. Problemas comuns e resolução
| Problema | Causa provável | Diagnóstico e resolução |
|---|---|---|
| Alteração DNS não propagou após 48h | TTL elevado do registo antigo; alteração feita no servidor errado | Verificar com dig +trace se a alteração chegou ao autoritativo. Confirmar que o SOA serial foi incrementado |
| NXDOMAIN — nome não existe | Registo não existe; zona errada; typo no nome | Confirmar registo no painel DNS autoritativo. Verificar se a zona está correcta |
| SERVFAIL — servidor DNS falhou | Nameserver inacessível; DNSSEC inválido; lame delegation | Testar cada NS com nslookup. Verificar DNSSEC. Confirmar delegação no registar |
| Email vai para spam — SPF falha | IP de saída não incluído no SPF; dois registos SPF; lookup limit excedido | MXToolbox → SPF Lookup → verificar IPs e número de lookups |
| CNAME e MX/TXT no mesmo nome | CNAME não pode coexistir com outros tipos no mesmo hostname | Remover o CNAME e substituir por registo A com o IP, ou reorganizar os registos noutro subdomínio |
| Clientes resolvem IPs diferentes — cache stale | TTL antigo em cache nos resolvers dos utilizadores | ipconfig /flushdns nos clientes. Aguardar o TTL antigo expirar nos resolvers externos |
7. DNS no Windows Server — gestão e logs
# Gerir DNS no Windows Server via PowerShell # Ver todas as zonas DNS configuradas Get-DnsServerZone # Ver todos os registos de uma zona Get-DnsServerResourceRecord -ZoneName "empresa.pt" | Format-Table -AutoSize # Adicionar registo A Add-DnsServerResourceRecordA -ZoneName "empresa.pt" -Name "webapp" -IPv4Address "192.168.1.50" -TimeToLive 01:00:00 # Adicionar registo CNAME Add-DnsServerResourceRecordCName -ZoneName "empresa.pt" -Name "mail" -HostNameAlias "servidor.empresa.pt" # Limpar cache do servidor DNS Clear-DnsServerCache # Ver log de diagnóstico DNS (Event Viewer) # Applications and Services Logs → Microsoft → Windows → DNS-Server → Audit Get-WinEvent -LogName "Microsoft-Windows-DNS-Server/Audit" -MaxEvents 50 | Select-Object TimeCreated, Id, Message | Format-List
8. Boas práticas e TTLs recomendados
| Boa prática | Motivo |
|---|---|
| Usar Cloudflare ou serviço DNS gerido para domínios externos | Alta disponibilidade, Anycast global, DDoS mitigation integrada e propagação rápida |
| Nunca colocar CNAME no apex do domínio (@) | Viola RFC — não é compatível com MX, NS e SOA. Usar registo A ou ALIAS/ANAME se o provider suportar |
| Ter sempre pelo menos 2 nameservers (NS) para cada zona | Redundância — se um falhar, o domínio continua a resolver |
| Reduzir TTL para 300 s antes de migrações | Minimiza o tempo de propagação da alteração e permite rollback rápido |
| Configurar registo PTR para o IP de saída de email | DNS reverso em falta é causa frequente de email marcado como spam |
| Documentar todas as alterações DNS com data e motivo | Problemas de propagação DNS são difíceis de diagnosticar sem histórico de alterações |
