Formatage d'un fichier de zone DNS
Un fichier de zone de service de nom de domaine (DNS) est un fichier texte qui décrit une zone DNS . Le format de fichier BIND est le format de fichier de zone privilégié dans l'industrie et il a été adopté par la plupart des logiciels de serveur DNS.
Ce format est défini dans le document RFC 1035.
Limites et points à considérer concernant les fichiers de zone
Limites de service
Le service DNS pour Oracle Cloud Infrastructure est limité à 1 000 zones par compte et 25 000 enregistrements par zone. Les clients dont les besoins en matière de taille de zone et d'enregistrement sont supérieurs sont invités à communiquer avec le soutien sur support.oracle.com.
Limites des fichiers de zone
La taille des chargements de fichier de zone est limitée à 1 Mo par fichier.
Pour 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 lots de 100.
Limites d'importation et d'exportation
L'exportation de fichiers de zone contenant des types d'enregistrement ALIAS ou qui utilisent la gestion du trafic (TM). En effet, les fichiers de zone sont exportés en tant qu'enregistrements standard RFC, et les enregistrements ALIAS et TM sont des types d'enregistrements non 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 lots de 100 enregistrements chacun.
L'importation et l'exportation des zones globales sont prises en charge dans la console et l'API, à l'exception des enregistrements ALIAS et TM.
Pour les zones privées, l'importation est prise 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
Il s'agit d'un exemple de fichier de zone téléchargé à 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.
Classes d'enregistrement
Dans l'exemple de fichier de zone précédent, aucune classe d'enregistrement n'est affichée. Le service DNS pour OCI ne fonctionne qu'avec des enregistrements de classe Internet (IN), mais il omet les informations de classe dans les fichiers de zone à des fins d'efficacité.
Anatomie d'un fichier de zone
$ORIGIN
indique un arbre de noeuds DNS et commence généralement un fichier de zone DNS. Les étiquettes d'hôte suivant l'origine ajoutent le nom d'hôte d'origine pour former un nom d'hôte complet. Le nom d'hôte d'origine n'est pas ajouté aux étiquettes d'hôte d'origine d'un enregistrement qui utilisent un nom de domaine complet se terminant par un point.
Exemple : Avec ORIGIN example.com.
, example.com
. est ajouté à tout enregistrement dont le champ d'étiquette d'hôte n'est pas suivi d'un point.
Le symbole "@" est une étiquette spéciale qui indique que $ORIGIN
doit remplacer le symbole "@". Il est généralement utilisé pour la racine 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 de courriel de la partie responsable de l'administration du fichier de zone du domaine, le numéro de série courant de la zone, le serveur de noms principal de la zone et divers éléments de temps (exprimés en secondes).
Format de l'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 contenant le fichier de zone initial et non une copie transférée par AXFR.
- Adresse de courriel du gestionnaire : Adresse de la partie responsable de la zone. Un point "." est utilisé à la place du symbole "@". Pour les adresses de courriel qui contiennent des points, remplacez-les par une suspension "/".
- 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.
- Délai d'actualisation : Délai en secondes qu'un serveur de noms attend avant de vérifier si un numéro de série a été incrémenté dans le fichier de zone principal. Une augmentation de numéro de série détectée par un serveur de noms DNS secondaire signifie qu'un transfert est nécessaire pour synchroniser les enregistrements. S'applique uniquement aux zones qui utilisent un DNS secondaire.
- Temps de nouvelle tentative – Durée d'attente d'un serveur de noms avant une nouvelle tentative de mise à jour d'une zone après un échec, en secondes. S'applique uniquement aux zones qui utilisent un DNS secondaire.
- Délai d'expiration : Délai en secondes qu'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 interrogations pour cette zone. S'applique uniquement aux zones qui utilisent un DNS secondaire.
- Durée de vie minimale : Durée de vie minimale. Durée pendant laquelle un serveur de noms ou un résolveur met en mémoire cache une réponse négative, en secondes.
Anatomie d'un enregistrement dans un fichier de zone
Un fichier de zone est une collection d'enregistrements de ressource où chaque entrée d'enregistrement est décrite dans la séquence suivante :
Format : | Étiquette 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 |
- étiquette d'hôte : Une étiquette d'hôte permet de définir le nom d'hôte d'un enregistrement et d'indiquer si le nom d'hôte
$ORIGIN
est ajouté à l'étiquette. L'origine n'est pas ajoutée aux noms d'hôte complets terminés par un point. - DTTL – La durée de vie (DTTL) est la durée en secondes pendant laquelle un enregistrement DNS est conservé en mémoire cache par un serveur ou résolveur DNS externe.
- 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 IN des enregistrements.
- Type d'enregistrement : Type d'un enregistrement (par exemple, CNAME, AAAA ou TXT).
- Données d'enregistrement : Données d'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 des types de données d'enregistrement différents.
Modification des fichiers de zone exportés depuis GoDaddy pour l'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. Procédez comme suit pour mettre à jour le fichier de zone.
- Exportez le fichier de zone à partir de GoDaddy. Référez-vous à la documentation de GoDaddy pour voir comment cela est fait.
- Ouvrez le fichier dans n'importe quel éditeur de texte préféré.
- Ajoutez une nouvelle ligne au début du fichier, avant l'enregistrement SOA, avec les informations suivantes, y compris le point final :
$ORIGIN [yourdomain].
- Une fois le fichier modifié, enregistrez les modifications et utilisez la fonction d'importation de zone pour importer le fichier dans la configuration DNS. Pour plus d'informations sur l'importation de zones, voir Gestion des zones DNS.
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. Communiquez avec GoDaddy pour plus d'informations sur la façon d'obtenir ces informations. Par exemple :@ 600 IN A 192.0.2.255
Exemple :
Cet exemple est un fichier de zone exporté à partir de GoDaddy. Le code en gras est le code qui doit être supprimé du fichier pour qu'il puisse être importé dans Oracle Cloud Infrastructure DNS.
Le fait de placer un point-virgule au début d'une ligne est une syntaxe de commentaire valide pour un fichier de zone selon le document RFC 1035, mais pour faciliter l'utilisation et le formatage, nous recommandons de supprimer la grande section de commentaires au début du fichier de zone fourni par GoDaddy, comme illustré.
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 montre un fichier de zone modifié prêt à être importé dans le DNS OCI. Le code en gras doit être ajouté au fichier de zone avant l'importation.
$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"