Zone DNS

Protocoles et Normes
Une portion de l'espace de noms DNS gérée par une organisation ou un administrateur spécifique.
← Retour au Glossaire

Qu'est-ce qu'une zone DNS ?

Une zone DNS est une portion distincte du namespace DNS gérée par une organisation ou un administrateur spécifique. Une zone contient les registres DNS pour un ou plusieurs domaines et est servie par les serveurs de noms faisant autorité. Bien qu'un domaine soit un nom dans l'arbre DNS, une zone est une limite administrative définissant quels serveurs de noms sont responsables de la réponse aux requêtes.

Domaine vs zone

Comprendre la distinction est crucial :

Domaine

Un domaine est un nom dans la hiérarchie DNS :

example.com (domain)

└── www.example.com (subdomain)

└── blog.example.com (subdomain)

└── api.example.com (subdomain)

Zone

Une zone est un contrôle administratif sur les registres :

Zone unique pour domaine et sous-domaines :
example.com zone contains:

- example.com

- www.example.com

- blog.example.com

- api.example.com

Managed by: ns1.example.com, ns2.example.com

Zone de sous-domaine déléguée :
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

Composants de la zone

Fichier de zone

Un fichier texte contenant tous les registres DNS d'une zone :

; 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"

Registre SOA (Start of Authority)

Chaque zone doit avoir exactement un registre SOA :

example.com.  IN  SOA  ns1.example.com. admin.example.com. (

2024010101 ; Serial

7200 ; Refresh

3600 ; Retry

1209600 ; Expire

3600 ; Minimum TTL

)

Champs SOA :
ChampObjectifExemple de valeur
NS principalServeur de noms maîtrens1.example.com
Email adminContact (@ → .)admin.example.com ([email protected])
Numéro de sérieNuméro de version de zone2024010101
RafraîchissementIntervalle de vérification du NS secondaire7200s (2 heures)
Nouvelle tentativeIntervalle de nouvelle tentative en cas d'échec3600s (1 heure)
ExpirationLe NS secondaire abandonne après1209600s (14 jours)
TTL minimumDurée de mise en cache négatif3600s (1 heure)

Registres NS (Serveurs de noms)

Spécifient quels serveurs font autorité pour la zone :

example.com.  IN  NS  ns1.example.com.

example.com. IN NS ns2.example.com.

Ceux-ci indiquent au monde quels serveurs interroger pour les registres de cette zone.

Types de zones

Zone principale (maître)

La source faisant autorité où les registres de zone sont modifiés :

ns1.example.com (primary)

→ Zone file edited here

→ Changes made directly

→ Notifies secondaries of updates

Zone secondaire (esclave)

Copies en lecture seule qui se répliquent à partir de la zone principale :

ns2.example.com (secondary)

→ Retrieves zone data from primary

→ Cannot be edited directly

→ Automatically syncs based on SOA refresh interval

Transfert de zone (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

Transfert incrémentiel (IXFR) :
1. Secondary requests only changes since last serial

2. Primary sends diff

3. More efficient for large zones with small changes

Zone directe

Mappe les noms de domaines aux adresses IP (le plus courant) :

example.com → 203.0.113.50

www.example.com → 203.0.113.50

Zone inverse

Mappe les adresses IP aux noms de domaines (registres PTR) :

50.113.0.203.in-addr.arpa → example.com

Utilisé pour :

Délégation de zone

La délégation crée des zones séparées pour les sous-domaines :

Zone parent (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

Zone déléguée (api.example.com)

Fichier de zone complètement séparé sur des serveurs de noms différents :

; 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

Pourquoi déléguer ?

Gestion des zones

Gestion du numéro de série

Les numéros de série suivent les versions de zone (généralement format YYYYMMDDnn) :

2024010101  ; January 1, 2024, version 01

2024010102 ; January 1, 2024, version 02

2024010201 ; January 2, 2024, version 01

Règle critique : Le numéro de série doit augmenter avec chaque changement, ou les secondaires ne se mettront pas à jour.

Sécurité du transfert de zone

Problème : Les transferts de zone exposent tous les registres DNS Solution : Restreindre les transferts de zone aux secondaires autorisés Configuration 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 (Transaction Signature) : Authentifier les transferts de zone avec des clés partagées :
key "transfer-key" {

algorithm hmac-sha256;

secret "base64-encoded-key";

};

allow-transfer { key transfer-key; };

Vérification de la configuration de la zone

Interroger le registre SOA

dig example.com SOA

; ANSWER SECTION:

example.com. 3600 IN SOA ns1.example.com. admin.example.com. (

2024010101 7200 3600 1209600 3600 )

Interroger les registres NS

dig example.com NS

; ANSWER SECTION:

example.com. 86400 IN NS ns1.example.com.

example.com. 86400 IN NS ns2.example.com.

Demander un transfert de zone (AXFR)

dig @ns1.example.com example.com AXFR

# If allowed, returns entire zone

# If denied, returns transfer failed

La plupart des serveurs de noms publics refusent AXFR pour éviter la divulgation d'informations.

Configurations de zone courantes

Site web simple

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"

Zone multi-services

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.

Sous-domaines délégués

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.

Meilleures pratiques pour les fichiers de zone

1. Toujours incrémenter le numéro de série : Après chaque changement, ou les secondaires ne se mettront pas à jour

2. Utiliser des numéros de série basés sur la date : Format YYYYMMDDnn pour la clarté

3. Restreindre les transferts de zone : Autoriser uniquement les secondaires autorisés

4. Utiliser plusieurs serveurs de noms : Au minimum 2, de préférence sur des réseaux différents

5. Définir des TTL appropriés : Équilibrer les bénéfices de la mise en cache vs la vitesse de mise à jour

6. Tester avant d'appliquer : Valider la syntaxe du fichier de zone avant de charger

7. Surveiller les transferts de zone : Assurer que les secondaires se synchronisent

8. Documenter les délégations : Noter quelles zones sont déléguées et où

9. Sauvegarder les fichiers de zone : Les sauvegardes régulières évitent la perte de données

10. Utiliser le contrôle de version : Suivre les changements du fichier de zone au fil du temps

Fonctionnalités avancées de la zone

DNSSEC (Signature de zone)

Signez cryptographiquement les registres de zone :

example.com.  IN  A       203.0.113.50

example.com. IN RRSIG A 8 2 3600 (

signature-data-here )

Protège contre l'empoisonnement du cache et la falsification.

DNS dynamique (DDNS)

Permettre les mises à jour de zone programmatiques :

# 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

Utile pour :

Vues de zone (DNS à horizon divisé)

Servez des données de zone différentes en fonction de l'IP du client :

Internal clients: example.com → 10.0.0.50 (internal)

External clients: example.com → 203.0.113.50 (public)

Cas d'utilisation :

Dépannage des problèmes de zone

Échecs du transfert de zone

Symptôme : Les secondaires ne sont pas synchronisés Vérifier :
# Check if primary allows transfers

dig @ns1.example.com example.com AXFR

# Check secondary logs for errors

tail -f /var/log/named.log

Solutions :

Le numéro de série n'augmente pas

Symptôme : Les changements ne se propagent pas aux secondaires Solution : Toujours augmenter le numéro de série avec chaque modification de zone

La délégation ne fonctionne pas

Symptôme : Le sous-domaine ne se résout pas Vérifier :
# Verify delegation

dig example.com NS

dig api.example.com NS

# Should show different nameservers for delegated subdomain

Solutions :

Les zones DNS sont la fondation de la gestion DNS distribuée. Comprendre la structure des zones, la délégation et la gestion permet d'architecturer DNS efficacement pour les organisations de toute taille.

Mettez Vos Connaissances en Pratique

Utilisez l'API de DomScan pour vérifier la disponibilité des domaines, la santé et bien d'autres choses.