Dernière modification : February 16 2007 18:37:48.
1. Configurer le serveur DNS
1.1. Installation et fichiers de configuration
# emerge bind
# emerge bind-tools
Les fichiers de configuration de Bind se trouvent dans le répertoire /etc/bind/. On trouve aussi le fichier /var/bind/root.cache, qui contient les adresses IP des serveurs DNS racines (i.e. les serveurs centraux du système DNS), et le fichier named.conf qui est le fichier de configuration principal de Bind.
Le répertoire /var/bind/ est destiné à accueillir les fichiers de zone pour ceux qui veulent configurer un serveur DNS primaire ou secondaire.
Dans /etc/conf.d/domainname indiquer votre domaine.
Dans /etc/conf.d/hosts indiquer le nom de la machine
127.0.0.1 tuxgentoo frogdev.dyndns.org
1.2. Configurer un serveur indépendant
Par défaut, Bind est configuré en tant que serveur DNS "indépendant", qui n'est primaire ou secondaire pour aucun domaine. Quel est l'intérêt d'un tel serveur ? Faire office de cache DNS. En effet, le serveur DNS va retenir dans son cache les correspondances IP-DNS demandées par les clients, et ne sera pas obligé d'aller chercher chaque fois auprès des autres serveurs DNS la réponse aux requêtes.
Par exemple, si vous trouvez que le serveur DNS de votre fournisseur d'accès est trop long à répondre, vous aurez intérêt à installer un serveur DNS sur votre ordinateur et configurer votre système pour qu'il interroge en priorité le serveur local. Pour optimizer les temps de requêtes, configurez votre serveur DNS pour qu'il demande les enregistrements qu'il n'a pas dans son cache aux serveurs DNS de votre fournisseur d'accès au lieu d'aller les demander lui-même auprès des autres serveurs DNS.
Pour cela, éditez le fichier named.conf et décommentez les lignes de la sous-section forwarders de la section options en y inscrivant les adresses IPs des serveurs DNS de votre fournisseur d'accès. Le début du fichier named.conf ressemble alors à cela :
options {
directory "/var/bind";
forwarders {
80.10.246.230;
80.10.246.129;
};
auth-nxdomain no;
};
où 80.10.246.230 et 80.10.246.129 sont les adresses IPs des serveurs DNS de votre fournisseur d'accès.
Modifiez le fichier /etc/resolv.conf et mettez votre serveur en première position dans la liste des serveurs DNS:
nameserver 192.168.0.3
nameserver 80.10.246.230
nameserver 80.10.246.129
1.3. Configurer un serveur DNS primaire pour une zone
Vous avez acheté un nom de domaine et vous souhaitez héberger votre DNS primaire ? Il vous faut configurer votre Bind comme autoritaire (ou master) pour votre domaine et donner à l'organisme auquel vous avez acheté votre domaine l'adresse IP de votre serveur.
Modification de named.conf
Ajoutez à la fin du fichier named.conf les lignes suivantes :
zone "mondomaine.org" {
type master;
file "mondomaine.org.zone";
};
où :
mondomaine.org est le nom de domaine pour lequel votre serveur sera primaire,
mondomaine.org.zone désigne le fichier /var/bind/mondomaine.org.zone où seront stockés les enregistrements de la zone.
Exemple du fichier zone fichier de zone
; /var/cache/bind/mondomaine.org.zone
; Fichier de zone "type" pour le domaine "mondomaine.org"
; Utiliser la commande
; "named-checkzone mondomaine.org /var/bind/mondomaine.org.zone"
; pour vérifier la validité du fichier de zone.
; Utiliser la commande "named-checkconf" pour vérifier la validité du fichier
; de configuration /etc/bind/named.conf
; ATTENTION : ne pas oublier de mettre à jour le "serial" à chaque
; modification des enresgitrements de ce fichier.
; ATTENTION : dans les fichiers de zone, les noms DNS complets doivent se
; terminer par des points (par exemple "master.mondomaine.org.")
; Tous les noms DNS qui ne sont pas complets (i.e. qui ne se terminent
; pas par un point) se terminent implicitement par "mondomaine.org."
; TTL (Time To Live) par défaut.
; Le TTL permet de dire aux serveurs DNS tiers qu'ils ne devront pas
; garder les enregistrements de notre zone en cache au dela de cette
; durée. On met une journée (86400 secondes).
$TTL 86400
; ENREGISTREMENT "SOA" (Start Of a zone of Authority).
; Cet enregistrement donne le nom du serveur DNS primaire et l'adresse mail
; à laquelle on peut joindre l'administrateur du domaine.
; Par exemple, le serveur DNS primaire s'appellera "master" et
; l'adresse mail de l'administrateur sera
@ IN SOA master.mondomaine.org. root.dns.mondomaine.org. (
; Serial (ou "Numéro de série") de la zone.
; Il permet aux serveurs secondaires de savoir s'ils ont besoin
; de se mettre à jour en faisant un transfert de zone avec le serveur
; primaire ou non en comparant leurs "serial" pour cette zone.
; Par convention, il est constitué de la date du jour au format AAAAMMJJ
; suivi du nombre de modifications déjà effectuées sur le fichier de zone
; dans la journée + 1.
; Par exemple, nous sommes le 13 septembre 2005, et c'est la deuxième fois
; que je modifie le fichier de zone aujourd'hui :
2005090132
; Refresh.
; Intervalle de temps en secondes pendant lequel les serveurs DNS
; secondaires attendent avant de vérifier (et éventuellement de
; mettre à jour) l'enregistrement SOA du serveur DNS primaire.
; On met un 1 journée (86400 secondes).
86400
; Retry.
; Intervalle de temps en secondes durant lequel les serveurs DNS
; secondaires attendent avant de réessayer une requête vers le serveur DNS
; primaire si ce dernier n'est pas accessible.
; On met 5 minutes (300 secondes).
300
; Expire.
; Intervalle de temps en secondes durant lequel les serveurs DNS
; secondaires attendent avant de rejeter les informations de zones s'ils
; n'ont pas pu contacter le serveur DNS primaire.
; On met 1 mois (2592000 secondes).
2592000
; TTL (Time To Live) minimum.
; Durée minimum du TTL d'un enregistrement DNS de la zone.
; On met 1 journée (86400 secondes).
86400
)
; ENREGISTREMENTS "NS"
; Ces enregistrements donnent les noms DNS des serveurs primaires
; et secondaires
mondomaine.org. IN NS ns0
mondomaine.org. IN NS ns1
; ENREGISTREMENTS "A"
; Les enregistrements "A" donnent les correspondances DNS <-> IP classiques
; Pour qu'une requête DNS "ordi1.mondomaine.org" renvoie "12.42.112.201"
ordi1 IN A 12.42.112.201
ordi2 IN A 12.42.112.202
ordi3 IN A 12.42.112.203
ns0 IN A 12.42.102.188
ns1 IN A 42.128.241.12
; ENREGISTREMENTS "CNAME"
; Le champ "CNAME" est utilisé pour faire des "alias DNS",
; c'est-à-dire avoir une IP qui répond à plusieurs noms DNS.
; Par exemple, pour qu'une requête DNS "www.mondomaine.org" renvoie
; aussi l'IP d'ordi1" :
www IN CNAME ordi1
mailhost IN CNAME ordi1
ftp IN CNAME ordi2
irc IN CNAME ordi3
; ENREGISTREMENTS "MX"
; Le champ "MX" est utilisé pour les envois de mail.
; Quand un serveur de mail doit envoyer un mail à l'adresse
; , il fait une requête DNS de type "MX" sur
; "frogdev.dyndns.org". Il obtient en retour une liste d'adresses IP classées
; avec des priorités. Il essaye alors d'envoyer le mail au serveur
; principale, s'il est injoignable au serveur secondaire, etc...
; Pour les adresses @mondomaine.org, le serveur principal est "ordi1",
; le serveur secondaire est "ordi2" et le tertiaire est "ordi3" :
mondomaine.org. IN MX 10 ordi1
mondomaine.org. IN MX 20 ordi2
mondomaine.org. IN MX 30 ordi3
; ATTENTION : on ne met pas de "MX" sur un "CNAME",
; mais uniquement sur un "A" !
; Si on veut inclure un autre fichier de ce fichier :
;$INCLUDE nom_de_l'autre_fichier
1.4 Vérifications et relance
Vérifiez que vous n'avez pas fait d'erreur de syntaxe dans le fichier named.conf :
# named-checkconf
Si la commande n'affiche rien, c'est que le fichier named.conf est valide. Ensuite, vérifiez la syntaxe du fichier de zone :
# named-checkzone mondomaine.org /var/bind/mondomaine.org.zone
zone mondomaine.org/IN: loaded serial 2005091302
OK
Si la commande n'affiche aucun message d'erreur, alors il n'y a pas d'erreur de syntaxe dans le fichier de zone. Vous pouvez alors dire à Bind de relire son fichier de configuration :
# /etc/init.d/named start
# rc-update add named default
Note : Attention, si vous faites un restart au lieu d'un reload, le cache de votre serveur DNS se videra !
1.5 Configurer un serveur secondaire pour une zone
Il faut modifier named.conf
Rajoutez à la fin du fichier named.conf les lignes suivantes :
zone "domaine-ami.org" {
type slave;
file "domaine-ami.org.zone";
masters { 12.42.112.242; };
};
où :
domaine-ami.org est le nom de domaine pour lequel votre serveur sera secondaire
domaine-ami.org.zone désigne le fichier /var/cache/bind/domaine-ami.org.zone où sera écrite la zone à l'issue du premier transfert depuis le serveur DNS primaire,
12.42.112.242 est l'adresses IP du serveur primaire de la zone.
Votre serveur DNS fera alors régulièrement des transferts de zone depuis le serveur primaire (et notamment à chaque fois que le serveur primaire lui notifiera d'un changement dans la zone) et l'écrira dans le fichier /var/bind/domaine-ami.org.zone.
1.6 Tester le serveur DNS
L'utilitaire dig permet de faire des requêtes DNS évoluées et fournit un maximum d'informations sur la requête. Il est très utile pour vérifier la bonne configuration d'un serveur DNS.
Exemples d'utilisation de dig :
Requête sur le champ "A" du nom www.mondomaine.org auprès du serveur DNS 12.42.112.242 :
# dig @12.42.112.242 www.mondomaine.org A
Requête sur la champ "MX" du nom mondomaine.org auprès du serveur DNS 12.42.112.242 :
# dig @12.42.112.242 mondomaine.org MX
Requête sur tous les champs du nom mondomaine.org auprès du serveur DNS 12.42.112.242 :
# dig @12.42.112.242 mondomaine.org ANY
Requête AXFR sur le domaine mondomaine.org auprès du serveur DNS 12.42.112.242 :
# dig @12.42.112.242 mondomaine.org AXFR
Requête inverse (i.e. reverse DNS) sur l'IP 12.42.111.422 auprès du serveur DNS 12.42.112.242 :
# dig @12.42.112.242 -x 12.42.111.422
Pour le serveur de domaine
# /etc/init.d/domainname start
# rc-update add domainname default
Voir les commentairesAjouter un commentaire