Formatage d'un fichier de zone DNS

Un fichier de zone de service de noms de domaine (DNS) est un fichier texte décrivant une zone DNS. Le format de fichier BIND est plébiscité par le secteur pour les fichiers de zone. Il est couramment utilisé par les logiciels de serveur DNS.

Le format est défini dans la norme RFC 1035.

Limites et remarques relatives aux fichiers de zone

Limites de service

Le service Oracle Cloud Infrastructure DNS est limité à 1 000 zones par compte et à 25 000 enregistrements par zone. Nous invitons les clients ayant des besoins plus importants en nombre de zones et d'enregistrements à contacter le support technique à l'adresse support.oracle.com.

Limites de fichier de zone

La taille des téléchargements de fichier de zone est limitée à 1 méga-octet (Mo) par fichier de zone.

Afin de contourner cette limite, utilisez d'abord la console ou l'opération d'API CreateZone pour créer une zone. Utilisez ensuite l'opération d'API PatchDomainRecords pour ajouter des enregistrements à la zone par batch de 100.

Limites d'import et d'export

L'export de fichiers de zone contenant des types d'enregistrement ALIAS ou utilisant Traffic Management (TM) n'est pas pris en charge. En effet, les fichiers de zone sont exportés en tant qu'enregistrements standard RFC, et les enregistrements ALIAS et TM ne sont pas des types d'enregistrement standard. Vous pouvez utiliser l'opération d'API GetZoneRecords pour obtenir une sauvegarde des enregistrements non standard. Utilisez le paramètre limit pour créer des batches de 100 enregistrements chacun.

L'import et l'export pour les zones globales sont pris en charge à la fois dans la console et dans l'API, à l'exception des enregistrements ALIAS et TM.

Pour les zones privées, l'import est pris en charge à l'aide de l'opération d'API CreateZone. L'exportation de zone n'est pas prise en charge.

Exemple de fichier de zone

Exemple de fichier de zone téléchargé en local à partir d'Oracle Cloud Infrastructure DNS.

$ORIGIN example.com.
			@                    3600 SOA   ns1.p30.oraclecloud.net. (
			zone-admin.dyndns.com.     ; address of responsible party
			2016072701                 ; serial number
			3600                       ; refresh period
			600                        ; retry period
			604800                     ; expire time
			1800                     ) ; minimum ttl
			86400 NS    ns1.p68.dns.oraclecloud.net.
			86400 NS    ns2.p68.dns.oraclecloud.net.
			86400 NS    ns3.p68.dns.oraclecloud.net.
			86400 NS    ns4.p68.dns.oraclecloud.net.
			3600 MX    10 mail.example.com.
			3600 MX    20 vpn.example.com.
			3600 MX    30 mail.example.com.
			60 A     204.13.248.106
			3600 TXT   "v=spf1 includespf.oraclecloud.net ~all"
			mail                  14400 A     204.13.248.106
			vpn                      60 A     216.146.45.240
			webapp                   60 A     216.146.46.10
			webapp                   60 A     216.146.46.11
		www                   43200 CNAME example.com.
Remarque

Classes d'enregistrement

Dans l'exemple de fichier de zone précédent, aucune classe d'enregistrement n'est affichée. OCI DNS fonctionne uniquement avec les enregistrements de classe IN (Internet, IN), mais omet les informations de classe dans les fichiers de zone pour optimiser l'efficacité.

Structure d'un fichier de zone

$ORIGIN indique une arborescence de noeuds DNS et démarre généralement un fichier de zone DNS. Les libellés d'hôte qui suivent l'origine sont ajoutés à la fin du nom d'hôte d'origine pour former un nom d'hôte qualifié complet. Les libellés d'hôte d'un enregistrement qui utilise un nom de domaine qualifié complet se terminant par un point ne sont pas ajoutés à la fin du nom d'hôte d'origine.

Exemple : avec ORIGIN example.com., example.com. est ajouté à la fin de tous les enregistrements dont le champ de libellé d'hôte n'est pas suivi d'un point.

Le symbole "@" est un libellé spécial qui indique que $ORIGIN doit remplacer le symbole "@". Il est généralement utilisé pour le noeud supérieur d'une zone.

Enregistrement SOA : $ORIGIN est suivi de l'enregistrement SOA de la zone. Un enregistrement SOA est requis pour chaque zone. Il contient le nom de la zone, l'adresse électronique de la partie responsable de l'administration du fichier de zone du domaine, le numéro de série en cours de la zone, le serveur de noms principal de la zone et divers éléments temporels (mesurés en secondes).

Format d'enregistrement SOA

@     IN     SOA    {primary-name-server}     {hostmaster-email} (
				{serial-number}
				{time-to-refresh}
				{time-to-retry}
				{time-to-expire}
			{minimum-TTL-for-negative-cache} )
  • Serveur de noms principal : serveur de noms qui contient le fichier de zone d'origine, et non une copie transférée par AXFR.
  • Adresse électronique de l'hôte maître : adresse de la partie responsable de la zone. Un point "." est utilisé à la place du symbole "@". Pour les adresses électroniques contenant des points, remplacez ces derniers par des barres obliques "/".
  • Numéro de série : numéro de version de la zone. Le numéro de série augmente à chaque mise à jour suivante de la zone.
  • Durée avant actualisation : durée en secondes pendant laquelle un serveur de noms attend avant de vérifier s'il existe une augmentation de numéro de série au sein du fichier de zone principal. Si un serveur de noms DNS secondaire a détecté une augmentation du numéro de série, un transfert est requis pour synchroniser les enregistrements. S'applique uniquement aux zones qui utilisent un DNS secondaire.
  • Temps de nouvelle tentative – Durée pendant laquelle un serveur de noms attend avant de réessayer de mettre à jour une zone après une tentative ayant échoué, en secondes. S'applique uniquement aux zones qui utilisent un DNS secondaire.
  • Durée avant expiration : durée en secondes pendant laquelle un serveur de noms attend avant de considérer les données d'une zone secondaire comme non valides et d'arrêter de répondre aux requêtes pour cette zone. S'applique uniquement aux zones qui utilisent un DNS secondaire.
  • Durée de vie minimale : Durée en secondes pendant laquelle un serveur de noms ou un résolveur met en mémoire cache une réponse négative.

Structure d'un enregistrement dans un fichier de zone

Un fichier de zone est un ensemble d'enregistrements de ressource où chaque entrée d'enregistrement est décrite par la séquence suivante :

Format : Libellé d'hôte Durée de vie Classe d'enregistrement Type d'enregistrement Données d'enregistrement
Exemple : example.com. 60 IN A 104.255.228.125
  • Libellé d'hôte : libellé d'hôte permettant de définir le nom d'hôte d'un enregistrement et d'indiquer si le nom d'hôte $ORIGIN est ajouté à la fin du libellé. Les noms d'hôte qualifiés complets qui se terminent par un point ne sont pas ajoutés à la fin de l'origine.
  • Durée de vie : la durée de vie correspond au laps de temps pendant lequel un enregistrement DNS est mis en mémoire cache par un serveur DNS externe ou un résolveur. Elle est définie en secondes.
  • Classe d'enregistrement : il existe trois classes d'enregistrement DNS : IN (Internet), CH (Chaosnet) et HS (Hesiod). Oracle Cloud Infrastructure DNS utilise uniquement la classe d'enregistrement IN.
  • Type d'enregistrement : type d'un enregistrement, tel que CNAME, AAAA ou TXT.
  • Données d'enregistrement : données contenues dans une réponse DNS, telles qu'une adresse IP, un nom d'hôte ou d'autres informations. Les différents types d'enregistrement contiennent différents types de données d'enregistrement.

Modification des fichiers de zone exportés à partir de GoDaddy pour importation

GoDaddy.com exporte les fichiers de zone dans un format propriétaire. Pour que le service DNS OCI puisse importer correctement un fichier de zone exporté à partir de GoDaddy, vous devez modifier directement le fichier. Suivez les instructions suivantes pour mettre à jour le fichier de zone.

  1. Exportez le fichier de zone à partir de GoDaddy. Reportez-vous à la documentation de GoDaddy pour voir comment cela est fait.
  2. Ouvrez le fichier dans l'éditeur de texte de votre choix.
  3. Ajoutez une ligne au début du fichier, avant l'enregistrement SOA, et saisissez le code suivant sans oublier le point final : $ORIGIN [yourdomain].
  4. Une fois le fichier modifié, enregistrez les modifications apportées au fichier et utilisez la fonction d'import de zone pour importer le fichier dans la configuration DNS. Pour plus d'informations sur l'import de zone, reportez-vous à Gestion des zones DNS.
Remarque

Si le fichier de zone inclut des enregistrements A dynamiques, tels que @ 600 IN A GoCentral Published Site, vous devez modifier ces enregistrements avec les adresses IP correctes du site Web. Contactez GoDaddy pour plus d'informations sur la façon d'obtenir ces informations. Exemple :@ 600 IN A 192.0.2.255

Exemple :

Voici un exemple de fichier de zone exporté à partir de GoDaddy. Le code en gras doit être enlevé du fichier afin que celui-ci puisse être importé dans Oracle Cloud Infrastructure DNS.

Conseil

Le placement d'un point-virgule au début d'une ligne est une syntaxe de commentaire valide pour un fichier de zone selon la norme RFC 1035. Toutefois, pour faciliter l'utilisation et le formatage, nous vous recommandons de supprimer la grande section de commentaires au début du fichier de zone fourni par GoDaddy, comme illustré ci-dessous.
Domain: example.com
; Exported (y-m-d hh:mm:ss): 2019-01-10 13:05:04
;
; This file is intended for use for informational and archival
; purposes ONLY and MUST be edited before use on a production
; DNS server.
;
; In particular, you must update the SOA record with the correct
; authoritative name server and contact e-mail address information,
; and add the correct NS records for the name servers which will
; be authoritative for this domain.
;
; For further information, please consult the BIND documentation
; located on the following website:
;
; http://www.isc.org/
;
; And RFC 1035:
;
; http://www.ietf.org/rfc/rfc1035.txt
;
; Please note that we do NOT offer technical support for any use
; of this zone data, the BIND name server, or any other third-
; party DNS software.
;
; Use at your own risk.
; SOA Record
example.com.        3600     IN     SOA ns41.domaincontrol.com. dns.net. (
                    2018122702
                    28800
                    7200
                    604800
                    3600
                    ) 
; A Records
@   600  IN     A   192.0.2.249
blog    10800    IN     A   192.0.2.255
dev 1800     IN     A   192.0.2.254
dev01   1800     IN     A   192.0.2.253
dev02   1800     IN     A   192.0.2.252
dev03   1800     IN     A   192.0.2.251
dev04   1800     IN     A   192.0.2.250
; CNAME Records
abc123b432dc7785b7ef31f04f25c3e71    1800     IN     CNAME   verify.bing.com.
akamai  600  IN     CNAME   www.example.com.edgekey.net.
email   3600     IN     CNAME   email.secureserver.net.
; MX Records
@   604800   IN     MX  10  amlxe.l.google.com.
@   604800   IN     MX  10  aplxe.l.google.com.
; TXT Records
@   3600     IN     TXT "google-site-verification=3J82-80dbMyCo5Q5C1G11JszeOnZPGCSYlHcPcXg"
@   3600     IN     TXT "google-site-verification=eS_QPYLE_W4nduSrlN-cddxG7ZqOnB743xsbX918"

L'exemple suivant présente un fichier de zone modifié prêt à être importé dans OCI DNS. Le code en gras doit être ajouté au début du fichier de zone avant l'import.

$ORIGIN example.com.
example.com.	     3600     IN     SOA ns41.domaincontrol.com. dns.net. (
                    2018122702
                    28800
                    7200
                    604800
                    3600
		     )
					
; A Records
@   600  IN     A   192.0.2.249
blog    10800    IN     A   192.0.2.255
dev 1800     IN     A   192.0.2.254
dev01   1800     IN     A   192.0.2.253
dev02   1800     IN     A   192.0.2.252
dev03   1800     IN     A   192.0.2.251
dev04   1800     IN     A   192.0.2.250abc123b432dc7785b7ef31f04f25c3e71    1800     IN     CNAME   verify.bing.com.
; CNAME Records
akamai  600  IN     CNAME   www.example.edgekey.net.
email   3600     IN     CNAME   email.secureserver.net.
; MX Records
@   604800   IN     MX  10  amlxe.l.google.com.
@   604800   IN     MX  10  aplxe.l.google.com.
; TXT Records
@   3600     IN     TXT "google-site-verification=3J82-80dbMyCo5Q5C1GM8os1VYVEOnZPGCSYlHcPcXg"
@   3600     IN     TXT "google-site-verification=eS_QPYLE_W4nduSrlN-cddxG7ZqOnB7k7uIG7qrsyu8"