Un enregistrement SOA (Start of Authority) est un enregistrement de ressource DNS obligatoire qui doit exister au sommet de chaque zone DNS. Il désigne le serveur de noms primaire faisant autorité et contient des paramètres critiques pour l'administration et la réplication de zone.
Chaque enregistrement SOA contient sept champs :
| Champ | Objectif |
|---|---|
| MNAME | Nom d'hôte du serveur de noms primaire |
| RNAME | Email de l'administrateur (avec des points remplaçant @, p. ex. admin.example.com pour [email protected]) |
| SERIAL | Numéro de version 32 bits ; les secondaires l'utilisent pour détecter les mises à jour de zone |
| REFRESH | Secondes avant que le secondaire vérifie le primaire pour les mises à jour |
| RETRY | Secondes à attendre avant de retenter un rafraîchissement échoué |
| EXPIRE | Secondes jusqu'à ce que le secondaire cesse de servir les données s'il est inaccessible |
| MINIMUM | TTL de mise en cache négative (durée pendant laquelle les réponses NXDOMAIN/NODATA sont mises en cache) |
Fonctionnement
Les serveurs de noms secondaires (esclaves) comparent périodiquement leur SERIAL mis en cache avec celui du primaire ; un SERIAL plus élevé déclenche un transfert de zone. Le primaire peut également utiliser NOTIFY pour alerter immédiatement les secondaires des modifications au lieu d'attendre l'intervalle REFRESH. Les résolveurs mettent en cache les réponses négatives (domaine non trouvé) en utilisant la valeur MINIMUM, et non le TTL de l'enregistrement lui-même.
Exemple
example.com. 3600 IN SOA ns1.example.com. admin.example.com. (
2024010101 ; SERIAL
86400 ; REFRESH (1 jour)
3600 ; RETRY (1 heure)
2592000 ; EXPIRE (30 jours)
3600 ) ; MINIMUM (1 heure, TTL de mise en cache négative)
TipChaque zone doit avoir exactement un enregistrement SOA au sommet. Le champ MINIMUM (selon RFC 2308) contrôle la durée pendant laquelle les résolveurs mettent en cache les réponses « non trouvé », indépendamment du TTL de l'enregistrement lui-même.