O que é uma Zona DNS?
Uma zona DNS é uma porção distinta do espaço de nomes DNS que é gerenciado por uma organização ou administrador específico. Uma zona contém registros DNS para um ou mais domínios e é servida por servidores de nomes autorizados. Embora um domínio seja um nome na árvore DNS, uma zona é um limite administrativo que define quais servidores de nomes são responsáveis por responder a consultas.
Domínio vs Zona
Compreender a distinção é crucial:
Domínio
Um domínio é um nome na hierarquia DNS:
example.com (domain)
└── www.example.com (subdomain)
└── blog.example.com (subdomain)
└── api.example.com (subdomain)
# # # Zona
Uma zona é o controlo administrativo dos registos:
Zona Única para Domínio e Subdomínios:example.com zone contains:
- example.com
- www.example.com
- blog.example.com
- api.example.com
Managed by: ns1.example.com, ns2.example.com
Zona de Subdomínio Delegada:
example.com zone contains:
- example.com
- www.example.com
- Delegation: api.example.com → different nameservers
api.example.com zone (separate) contains:
- api.example.com
- v1.api.example.com
- v2.api.example.com
Managed by: ns1.apihost.com, ns2.apihost.com
Componentes da Zona
Ficheiro da Zona
Um arquivo de texto contendo todos os registros DNS para uma zona:
; example.com zone file
$TTL 3600
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
; Nameserver records
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A records
@ IN A 203.0.113.50
www IN A 203.0.113.50
blog IN A 203.0.113.51
; MX records
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.52
; CNAME records
ftp IN CNAME www.example.com.
; TXT records
@ IN TXT "v=spf1 include:_spf.google.com ~all"
Registo SOA (Início da autoridade)
Cada zona deve ter exactamente um registo SOA:
example.com. IN SOA ns1.example.com. admin.example.com. (
2024010101 ; Serial
7200 ; Refresh
3600 ; Retry
1209600 ; Expire
3600 ; Minimum TTL
)
Campos SOA:
| Campo | Objecto | Valor do Exemplo |
|---|---|---|
| NS primário | Servidor de nomes mestre | ns1.example.com |
| E- mail de administração | Contacto (@ → .) | admin.example.com (admin@example.com) |
| Série | Número da versão da zona | 2024010101 |
| Actualizar | Intervalo secundário de verificação do NS | 7200s (2 horas) |
| Repetir | Intervalo de repetição se a actualização falhar | 3600s (1 hora) |
| Expirar | NS secundário desiste após | 1209600s (14 dias) |
| TTL mínimo | Duração de cache negativa | 3600s (1 hora) |
Registros NS (servidores de nomes)
Especificar quais os servidores autorizados para a zona:
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
Estes dizem ao mundo quais servidores procurar por registros nesta zona.
Tipos de Zona
Zona Primária (Mestre)
A fonte autorizada em que os registos de zonas são editados:
ns1.example.com (primary)
→ Zone file edited here
→ Changes made directly
→ Notifies secondaries of updates
Zona Secundária (Slave)
Cópias somente de leitura que se reproduzem do primário:
ns2.example.com (secondary)
→ Retrieves zone data from primary
→ Cannot be edited directly
→ Automatically syncs based on SOA refresh interval
Transferência de Zonas (AXFR):
1. Secondary checks SOA serial number
2. If primary serial is higher → request full zone transfer
3. Primary sends entire zone
4. Secondary updates its copy
Transferência Incremental (IXFR):
1. Secondary requests only changes since last serial
2. Primary sends diff
3. More efficient for large zones with small changes
Zona Avançada
Maps nomes de domínio para endereços IP (mais comuns):
example.com → 203.0.113.50
www.example.com → 203.0.113.50
Zona Inversa
Mapas de endereços IP para nomes de domínio (registros PTR):
50.113.0.203.in-addr.arpa → example.com
Usado para:
- Verificação do servidor de e-mail
- Registo e segurança
- Resolução de problemas
Delegação da zona
A delegação cria zonas separadas para subdomínios:
Zona pai (example.com)
; example.com zone
@ IN A 203.0.113.50
www IN A 203.0.113.50
; Delegate api.example.com to different nameservers
api IN NS ns1.apihost.com.
api IN NS ns2.apihost.com.
; Glue records (if needed)
ns1.api IN A 198.51.100.1
ns2.api IN A 198.51.100.2
Zona Delegada (api.example.com)
Ficheiro de zona completamente separado em servidores de nomes diferentes:
; api.example.com zone (on ns1.apihost.com)
@ IN A 198.51.100.10
v1 IN A 198.51.100.11
v2 IN A 198.51.100.12
Por que Delegado?
Gestão de Zonas
Gestão de Números Seriais
Números de série versões da zona de faixa (normalmente formato YYYMMDDnn):
2024010101 ; January 1, 2024, version 01
2024010102 ; January 1, 2024, version 02
2024010201 ; January 2, 2024, version 01
Regra crítica: A série deve aumentar a cada mudança, ou os segundos não serão atualizados.
Segurança de Transferência de Zonas
Problema: Transferências de Zona expõem todos os registros DNS Solução: Restrinja as transferências de zonas para os secundários autorizados Configuração BIND:zone "example.com" {
type master;
file "/var/named/example.com.zone";
allow-transfer { 203.0.113.52; 203.0.113.53; }; // Secondary IPs only
notify yes;
};
TSIG (Assinatura de transação): Autenticar transferências de zonas com chaves partilhadas:
key "transfer-key" {
algorithm hmac-sha256;
secret "base64-encoded-key";
};
allow-transfer { key transfer-key; };
Configuração da Zona de Verificação
Consultar registro SOA
dig example.com SOA
; ANSWER SECTION:
example.com. 3600 IN SOA ns1.example.com. admin.example.com. (
2024010101 7200 3600 1209600 3600 )
Consultar os registos NS
dig example.com NS
; ANSWER SECTION:
example.com. 86400 IN NS ns1.example.com.
example.com. 86400 IN NS ns2.example.com.
Pedido de transferência da zona (AXFR)
dig @ns1.example.com example.com AXFR
# If allowed, returns entire zone
# If denied, returns transfer failed
A maioria dos servidores públicos negam a AXFR para evitar a divulgação de informações.
Configurações da Zona Comum
Página Web Simples
example.com zone:
@ A 203.0.113.50
www A 203.0.113.50
@ MX 10 mail.example.com
mail A 203.0.113.51
@ TXT "v=spf1 mx -all"
Zona Multi- Serviço
example.com zone:
@ A 203.0.113.50
www A 203.0.113.50
blog CNAME hosting.wordpress.com.
shop CNAME shops.myshopify.com.
cdn CNAME d111111abcdef8.cloudfront.net.
@ MX 10 aspmx.l.google.com.
Subdomínios Delegados
example.com zone:
@ A 203.0.113.50
www A 203.0.113.50
; Delegate api to AWS Route 53
api NS ns-123.awsdns-01.com.
api NS ns-456.awsdns-02.net.
; Delegate cdn to Cloudflare
cdn NS ns1.cloudflare.com.
cdn NS ns2.cloudflare.com.
Melhores Práticas do Ficheiro da Zona
1.
Série de incremento sempre: Após cada alteração, ou segundos não serão atualizados2.
Use séries baseadas em datas: Formato YYYYMMDDnn para clareza3.
Transferências de zonas restritas: Permitir apenas secundários autorizados4.
Use vários servidores de nomes: Pelo menos 2, de preferência em diferentes redes5.
Definir os TTL adequados: Balance caching benefícios vs velocidade de atualização6.
Teste antes de aplicar: Validar a sintaxe do ficheiro da zona antes de carregar7.
Transferências de zonas de monitorização: Assegura-te que os segundos estão a sincronizar.8.
Delegações de documentos: Nota quais as zonas delegadas e onde9.
Arquivos de zona de backup: Backups regulares evitam perda de dados10.
Use controle de versão: O ficheiro de zona de faixa muda ao longo do tempoCaracterísticas avançadas da zona
DNSSEC (Assinação de Zona)
Registos da zona de sinais criptográficos:
example.com. IN A 203.0.113.50
example.com. IN RRSIG A 8 2 3600 (
signature-data-here )
Protege contra envenenamento por cache e adulteração.
DNS dinâmico (DDNS)
Permitir atualizações da zona programática:
# Update A record dynamically
nsupdate -k Kupdate.key <<EOF
server ns1.example.com
update delete www.example.com A
update add www.example.com 300 A 203.0.113.51
send
EOF
Útil para:
- Actualizações do endereço IP inicial
- Infra-estrutura de corte automático
- Descoberta de serviço
Vistas da Zona (DNS do Horizonte Dividido)
Serve dados de zonas diferentes com base no IP do cliente:
Internal clients: example.com → 10.0.0.50 (internal)
External clients: example.com → 203.0.113.50 (public)
Casos de utilização:
- Versões internas vs externas do website
- Recursos de rede privada
- Respostas geo-baseadas
Resolução de Problemas na Zona
Falhas na transferência da zona
Symptom: Segundos fora de sincronia Verificar:# Check if primary allows transfers
dig @ns1.example.com example.com AXFR
# Check secondary logs for errors
tail -f /var/log/named.log
Soluções:
- Verificar configurações de permissão-transferência
- Verificar a conectividade de rede entre servidores
- Assegurar o aumento do número de série
Número de série não incrementando
Symptom: Alterações que não se propagam para segundos Solução: Aumentar sempre a série com cada edição de zonaDelegação Não Funciona
Symptom: Subdomínio não resolvido Verificar:# Verify delegation
dig example.com NS
dig api.example.com NS
# Should show different nameservers for delegated subdomain
Soluções**:
- Verificar registros NS na zona-mãe
- Verifique registros de cola se os servidores de nomes estão dentro do subdomínio
- Confirmar zona- criança está configurada
As zonas de DNS são a base da gestão distribuída de DNS — compreender a estrutura, a delegação e a gestão de zonas permite que você arquitetetete efetivamente DNS para organizações de qualquer tamanho.