GoldZone Web Hosting

Rédigé par Gaëtan Trellu (goldyfruit)

Outils pour utilisateurs

Outils du site


creation_d_une_zone

Création d'une zone DNS.

Une zone DNS est un fichier ou se trouve les enregistrements d'un domaine. Les enregistrements sont les liens entre les adresses IP et les noms, cela sert donc à la résolution de nom. Nous verrons plus bas qu'il existe aussi la résolution inverse.

Comme indiqué ici, les zones DNS doivent se trouver dans le répertoire “/var/cache/bind/”, cela n'est pas obligatoire bien sûr mais autant rester le plus proche de la configuration initiales. Pour chaque nom de domaine un fichier de zone devra être créé, le fichier de configuration “named.conf.local” devra être lui aussi renseigné avant que Bind prenne en compte le nouveau domaine.

Dans une zone nous allons trouver plusieurs types, ces types sont décrits juste en dessous.

Sous Bind les commentaires sont des points virgules (;) et non des dièses (#) ou des slashs (/ /) !

ORIGIN

$ORIGIN - Contient le nom de la zone (dans notre cas goldzoneweb.info), on fait appel à cette directive lorsque l'on souhaite utiliser des noms non qualifiés (qui ne se finissent par par un point (.) Nous pouvons donc remplacer ceci :

webmail.goldzoneweb.info.       IN      A       192.168.0.65

Par cela :

webmail                         IN      A       192.168.0.65

Je vous conseille de l'ajouter à vos zones DNS même si vous utilisez des noms qualifiés.

TTL

$TTL (Time To Live) - En général cette valeur est associée à un nombre, 86400. Ce dernier est en secondes ce qui fait 24 heures. Au bout de ces 24 heures le cache du serveur sera réinitialisé.
Pour rappel, dans une zone DNS il est possible de définir une durée de validité pour chaque enregistrement, si cette durée n'est pas définie alors ça sera la valeur de $TTL qui sera utilisée.

webmail.goldzoneweb.info.   3600    IN      A       192.168.0.65

Ce qui a pour effet que cet enregistrement sera rafraîchi au bout d'une heure et non au bout de 24 heures.

Unités de temps.

Il est possible de préciser les valeurs autrement qu'en secondes, dans le tableau ci-dessous vous pouvez voir que l'on peut utiliser : des heures, des jours, des mois, des semaines et même des années !!

Les secondes Autres unités de temps
60 1M
1800 30M
3600 1H
10800 3H
21600 6H
43200 12H
86400 1D
259200 3D
604800 1W

Source : http://www.linux-kheops.com

SOA

SOA (Start Of Authority) définit les paramètres globaux d'une zone, il ne peut y avoir qu'un seul enregistrement SOA par zone.
Cette enregistrement comporte plusieurs directives :

  • @ - Cette arobase contient le nom de la zone renseignée dans le fichier “named.conf.local”. On pourrait la remplacer par le nom de domaine en question (goldzoneweb.info).
  • ns1.goldzoneweb.info. - C'est le FQDN du serveur de noms. A la fin se trouve un ., ce dernier est d'une extrême importance il ne faut donc pas l'oublier !!
  • goldyfruit.free.fr. - C'est l'adresse email du responsable du domaine, notez bien que l'arobase (@) a été remplacée par un point (.). Comme ci-dessus ne pas oublier le . à la fin.
  • Serial - A chaque mise à jour de la zone le numéro de série doit être modifié, la RFC préconise la façon suivante : AAAA MM JJ NO (Année Mois Jour Numéro) soit 2009012702 (02 représente la deuxième modification de la zone).
  • Refresh - Indique au bout de combien de temps (en seconde) le serveur DNS esclave tente de rafraîchir la zone se trouvant sur le serveur DNS maître. Si le numéro de série est différent alors la zone sera transférée.
  • Retry - Intervalle de temps (en seconde) avant que le serveur DNS esclave tente de rafraîchir la zone se trouvant sur le serveur DNS maître après un raté (uniquement lorsqu'un “Refresh” a échoué).
  • Expire - Intervalle de temps (en seconde) avant que le serveur DNS esclave considère le serveur DNS maître comme mort. Il devient donc autoritaire (responsable) de la zone jusqu'à ce que le serveur DNS maître réapparaisse.
  • TTL Minimum - Intervalle de temps (en seconde) qui détermine la durée de vie minimum du cache.

Ce qui donnerait :

$TTL 86400
@       IN      SOA     ns1.goldzoneweb.info. goldyfruit.free.fr. (
                     2009012801         ; Numéro de série / Serial.
                           3600         ; Rafraîchissement / Refresh.
                            900         ; Nouvelle tentative / Retry.
                        1209600         ; Expiration / Expire.
                          86400 )       ; Durée cache minimum / TTL Minimum.

Refresh, Retry et Expire sont des limites de temps. Ces limites vont permettre au serveur DNS esclave de savoir quoi faire en cas de non-réponse du serveur DNS maître.

Littérairement parlant cela veut dire :

  • Une fois le délai de Refresh atteint, le serveur DNS esclave va contacter le serveur DNS maître pour avoir des informations sur le numéro de série de la zone.
  • Si cette prise de contact échoue alors le serveur DNS esclave essaiera à nouveau de contacter le serveur DNS maître à la fin du délai Retry.
  • Si il n'y arrive toujours pas alors le serveur DNS maître sera considéré comme hors-ligne une fois le délai Expire atteint.

A

A (Address) - Ce champ permet de faire la correspondance un nom et une adresse IP. Ce qui veut dire dans notre cas que lorsque nous taperons l'adresse http://webmail.goldzoneweb.info nous atterrirons sur le serveur web 192.168.0.65.

webmail                         IN      A       192.168.0.65
webmail.goldzoneweb.info.       IN      A       192.168.0.65

Choisissez la méthode que vous préférez. Personnellement je préfère la seconde.
Pour la première méthode il vous faut ajouter la directive $ORIGIN dans votre zone.


Il est aussi possible d'indiquer un TTL à un enregistrement A.

webmail.goldzoneweb.info.       1H     IN      A       192.168.0.65

Bind rafraîchira cet enregistrement toutes les heures.

IN

IN (INternet) - Ce champ permet d'indiquer que c'est une zone dédiée à l'internet. Il n'est pas obligatoire de la placer dans chaque enregistrement, à vous de voir. :-)

webmail.goldzoneweb.info.       IN      A       192.168.0.65
webmail.goldzoneweb.info.               A       192.168.0.65

NS

NS (Name Server) - Ce champ permet de définir les serveurs ayant autorités sur la zone. Serveur DNS primaire, secondaire, tertiaire, etc…

goldzoneweb.info.       IN      NS       ns1.goldzoneweb.info.
                        IN      NS       ns1.goldzoneweb.info.
@                       IN      NS       ns1.goldzoneweb.info.

Comme vous pouvez le voir il y a plusieurs méthodes pour définir un enregistrement, à vous de choisir celui qui vous préférez.

Les RFC imposent que les enregistrements des DNS autoritaires (primaire, esclave, etc…) IN NS soient des enregistrements IN A.
ns1.goldzoneweb.info.   IN       A       192.168.0.5
ns2.goldzoneweb.info.   IN       A       10.0.0.5
ns3.goldzoneweb.info.   IN       A       172.22.2.5

MX

MX (Mail EXchanger) - Ce champs permet de définir les serveurs de messageries qui seront utilisés pour le nom de domaine. En règle générale deux serveurs de messageries suffisent, cependant il est nécessaire de préciser une priorité par MX.

Les RFC imposent que les enregistrements des serveurs de messageries IN MX soient des enregistrements IN A.

Avant de déclarer les enregistrement MX il est nécessaire de créer deux sous-domaines (enregistrement A)

mx01.goldzoneweb.info.       IN      A       192.168.0.30
mx02.goldzoneweb.info.       IN      A       192.168.0.31
@                            IN      MX      10       mx01.goldzoneweb.info.
@                            IN      MX      20       mx02.goldzoneweb.info.

Dans notre cas, le serveur de messageries mx01.goldzoneweb.info est prioritaire sur le serveur mx02.goldzoneweb.info.

PTR

PTR (PoinTeR) - Ce champ permet d'effectuer une résolution de nom inverse, à partir de l'adresse IP nous obtenons le nom du serveur.

La résolution de nom inverse est une zone à part entière, nous verrons cela un peu plus tard.

65                              IN      PTR       webmail.goldzoneweb.info.
65                                      PTR       webmail.goldzoneweb.info.
65.0.168.192                    IN      PTR       webmail.goldzoneweb.info.

65.0.168.192 devient 192.168.0.65 à l'envers.

SRV

SRV (SeRVices) - Ce champ permet de spécifier l'emplacement d'un service ainsi que son port présents sur un serveur. Il permet de faire la même chose que le champ MX pour le SMTP mais aussi pour tous les autres services.

Une liste des services supportés est disponible ici : http://www.dns-sd.org/ServiceTypes.html

_postgresql._tcp                        SRV     0      1      5432       pgsql01.goldzoneweb.info.

Un enregistrement SRV contient les informations suivantes :

  • Service: le nom symbolique du service concerné.
  • Protocole: généralement, c'est soit TCP, soit UDP.
  • Nom de domaine: le domaine de validité de l'enregistrement.
  • TTL: champ standard DNS indiquant la durée de validité (Time-To-Live, durée de vie) de la réponse.
  • Classe: champ standard DNS indiquant la classe (c'est toujours IN).
  • Priorité: la priorité du serveur cible.
  • Poids: poids relatif pour les enregistrements de même priorité.
  • Port: le port TCP ou UDP où le service est disponible.
  • Cible: le nom du serveur qui fournit le service concerné.

Source Wikipedia

TXT

TXT (TeXTe) - Ce champ permet entre autre de définir un enregistrement SPF (Sender Policy Framework).

goldzoneweb.info.               IN      TXT       "v=spf1 ip4:192.168.0.30 ip4:192.168.0.31 a mx ptr mx:mx01.goldzoneweb.info mx:mx02.goldzoneweb.info ~all"

SPF

SPF (Sender Policy Framework) - Ce champ permet de fournir un enregistrement SPF (voir ci-dessus) nécessaire aux serveurs de messagerie.

goldzoneweb.info.               IN      SPF       "v=spf1 ip4:192.168.0.30 ip4:192.168.0.31 a mx ptr mx:mx01.goldzoneweb.info mx:mx02.goldzoneweb.info ~all"

La syntaxe est identique à l'enregistrement d'un SPF à partir d'un champ TXT.

/!\ ATTENTION /!\ : Le champ SPF n'est pas accepté par tous les serveurs (1and1 par exemple), la zone ne sera pas transférée si le serveur distant ne l'accepte pas.

HINFO

HINFO (Hardware INFO) - Ce champ permet de fournir des informations au sujet du serveur DNS. Il doit fournir des informations sur l'architecture matériel ainsi que sur le système d'exploitation.

goldzoneweb.info.               IN      HINFO       "Intel Core 2 Duo" "Debian GNU/Linux Lenny"

CNAME

CNAME (Canonical NAME) - Ce champ permet de créer un alias sur un domaine ou sous-domaine déjà existant.

www                             IN      CNAME       goldzoneweb.info
imap                            IN      CNAME       goldzoneweb.info
ssh                             IN      CNAME       goldzoneweb.info
ssh                                     CNAME       goldzoneweb.info

Wildcard

Le principe du wildcard permet de ne pas avoir à créer un enregistrement pour chaque sous-domaine. Imaginez que vous avez plus de 1000 sites web hébergés sous le domaine “.goldzoneweb.info”, vous allez vraiment ajouter les 1000 enregistrements dans votre zone DNS ?

NON !!

Vous allez ajouter un enregistrement avec un “joker” (*), ce joker permet de prendre en compte tout ce qui se trouve avant “.goldzoneweb.info”.

*.goldzoneweb.info.                 IN      A        192.168.0.64

Couplé aux virtualhosts de masse, cette méthode est un vrai régale ! 8-o

Exemple d'une zone DNS.

Voici un petit exemple de tout ce que nous avons vu précédemment. Ce fichier représente une zone DNS pour le nom de domaine “goldzoneweb.info”. Un fichier “db.goldzoneweb.info.conf” a été créé dans le répertoire “/var/cache/bind/

$ORIGIN goldzoneweb.info.
$TTL 86400 ; Durée maximale du cache.
@       IN      SOA     ns1.goldzoneweb.info. goldyfruit.free.fr. (
                     2009012801         ; Numéro de série. (Serial)
                           3600         ; Rafraîchissement. (Refresh)
                            900         ; Nouvelle tentative. (Retry)
                        1209600         ; Expiration. (Expire)
                          86400 )       ; Durée cache minimum. (TTL Minimum)

;------------------------
; Enregistrements NS.
;------------------------
; Serveurs de noms.
@                                   IN      NS       ns1.goldzoneweb.info.
@                                   IN      NS       ns2.goldzoneweb.info.
@                                   IN      NS       ns3.goldzoneweb.info.

;------------------------
; Enregistrements MX.
;------------------------
; Serveurs de messageries.
@                                   IN      MX       10       mx01.goldzoneweb.info.
@                                   IN      MX       20       mx02.goldzoneweb.info.

;------------------------
; Enregistrement TXT et HINFO.
;------------------------
goldzoneweb.info.                   IN      TXT      "v=spf1 ip4:192.168.0.30 ip4:192.168.0.31 a mx ptr mx:mx01.goldzoneweb.info mx:mx02.goldzoneweb.info ~all"
goldzoneweb.info.                   IN      HINFO    "Intel Core 2 Duo" "Debian GNU/Linux Lenny"

;------------------------
; Ajout du joker (wildcard).
;------------------------
*.goldzoneweb.info.                 IN      A        192.168.0.64

;------------------------
; Enregistrements A.
;------------------------
; Serveurs de noms.
ns1.goldzoneweb.info.               IN      A        192.168.0.5
ns2.goldzoneweb.info.               IN      A        10.0.0.5
ns3.goldzoneweb.info.               IN      A        172.22.2.5

; Serveurs de messageries.
mx01.goldzoneweb.info.              IN      A        192.168.0.30
mx02.goldzoneweb.info.              IN      A        192.168.0.31

; Sous-domaines.
goldzoneweb.info.                   IN      A        192.168.0.64
webmail.goldzoneweb.info.           IN      A        192.168.0.65
webftp.goldzoneweb.info.            IN      A        192.168.0.66
mysql-manager.goldzoneweb.info.     IN      A        192.168.0.67
pgsql-manager.goldzoneweb.info.     IN      A        192.168.0.68

;------------------------
; Enregistrements CNAME.
;------------------------
; Alias.
www                                 IN      CNAME    goldzoneweb.info.
ftp                                 IN      CNAME    goldzoneweb.info.
ssh                                 IN      CNAME    goldzoneweb.info.
pop                                 IN      CNAME    webmail.goldzoneweb.info.
sql01                               IN      CNAME    mysql.goldzoneweb.info.

Relance du service Bind.

Ne surtout pas oublier de relancer le service Bind afin que les modifications soient prises en compte.

# rndc reload

Voir le lien suivant pour de plus amples informations.

Changelog.

creation_d_une_zone.txt · Dernière modification: 2011/01/05 16:05 (modification externe)