BinD: HowTo's DNS
tutorial sur BIND pour gérer ses propres DNS
Synopsis
Bind alias "Berkley Internet Name Domain" sert comme
son nom l'indique à gérer ses zone DNS tout seul comme un grand. Notons
que ce tutorial a été réalisé sous une ubuntu et sera donc valable pour
ubuntu et debian en ce qui concerne les commandes; quand aux fichiers
de configuration, ces derniers seront les mêmes indépendemment de l'OS.
Ici
on s'interessera plus particulierement à configurer convenablement le
domaine mondomaine.org qu'on aura acheté chez le revendeur local
(gandi, zonedit...) mais aussi un domaine lambda en local. Le gros
avantage de gérer soit même son DNS plutôt que de le laisser gérer par
gandi ou un autre réside dans le fait que l'on peut modifier à sa guise
son domaine et ajouter des sous-domaines simplement (Un autre avantage
est le cache-dns qui va eventuellement palier aux lenteurs des temps de
réponses aux requetes mais nous ne nous y interesserons pas ici).
Avant
de rentrer dans le vif du sujet, prenez conscience que les diverses
manipulations que nous allons aborder ne sont pas necessairement
simples pour le néophyte. Aussi contentez vous des services proposés
par votre fournisseur de nom de domaine si vous êtes completement
étranger aux systèmes UNIX.
Tout d'abord, un peu de théorie...le DNS sert à faire correspondre un nom à une IP et une IP à un nom que sont respectivement le DNS et le reverse DNS.
installation et premier pas
Passons à présent à la technique et commencons par installer BIND si celui-ci n'est pas encore installé.
Si vous etes sur debian ou ubuntu:
sudo apt-get install bind9
Si vous etes sur un autre système, servez vous de votre gestionnaire de paquet pour installer BIND9 ou dans le pire des cas compilez ce paquet à la main.
Dès lors, on obtient un repertoire /etc/bind (peut varier selon la distribution, dans lequel nous allons retrouver les différents fichiers de configuration.
Le premier fichier est le fichier named.conf qui va définir l'ensemble des zones que l'on souhaite gérer ainsi que les droits d'accés a ces zones. Une zone dns sera donc nécéssaire pour la correspondance nom=>ip et une autre pour ip=>nom.
DNS local
En effet, la premiere utilisation de bind se fait généralement en local; le but étant d'assigner un nom aux machines de son parc. Ainsi il sera plus convivial d'acceder à server.mondomaine.com plutôt qu'à 192.168.0.4.
named.conf va donc définir dans un premier temps notre zone local puis la zone reverse du local. Nous ajoutons donc cela à la fin named.conf:
zone "mondomaine.org" {
type master;
file "mondomaine.org.zone";
};
Puis créons le fichier mondomaine.org.zone dans le même repertoire(/etc/bind). Ce fichier se presentera comme celui ci-dessous
; TTL (Time To Live en secondes) permet de dire aux autres serveurs DNS le temps ou ils doivent cacher avant la mise a jour des zones.
$TTL 86400
@ IN SOA mondomaine.org. root.mondomaine.org. (
2006050102 ;Serial: année,mois,jour,serial. on le met à jour a chaque modification. la mise à jour est ensuite faite si la valeur du serial a augmentée.
86400 ; Refresh: temps avant verification ou mise à jour des serveurs secondaires de la zone concernée sur le serveur primaire.
300 ; Retry: temps avant retry de connexion des serveurs secondaires aux primaires en cas d'echec.
2592000 ; Expire: temps entre lequel les serveurs DNS secondaires attendent avant de rejeter les zones s'ils n'ont pas pu contacter le serveur DNS primaire.
86400 ; temps minimum de la validité de la zone.
)
; Ces enregistrements donnent le nom DNS du serveur primaires
mondomaine.org. IN NS mondns
; ENREGISTREMENTS "A" DNS <-> IP classiques
desktop IN A 192.168.0.1
laptop IN A 192.168.0.2
serveur IN A 192.168.0.3
mondns IN A 192.168.0.4
; ENREGISTREMENTS "CNAME" utilisé pour faire des alias.
www IN CNAME serveur
irc IN CNAME serveur
;serveur.mondomaine.org = www.mondomaine.org = irc.mondomaine.org => 192.168.0.3
mondomaine.org. IN MX 10 desktop
mondomaine.org. IN MX 20 serveur
;MX pour les mails. on ne met pas de "MX" sur un "CNAME" mais uniquement sur un "A" !
De même, pour la zone reverse on ajoutera à named.conf:
zone "0.168.192.in-addr.arpa" {
type master;
file "mondomaine.org.zone-reverse";
};
Notez bien que l'ip est dans l'ordre inverse.
On crée alors le fichier associé que l'on a nommé mondomaine.org.zone-reverse dans le cas présent. Il se présente sous cette forme:
$TTL 86400
@ IN SOA mondomaine.org. root.mondomaine.org. (
2006050102 ; serial
86400 ; refresh
300 ; retry
2592000 ; expire
86400 ; default_ttl
)
@ IN NS mondns.mondomaine.org.
1 IN PTR desktop.mondomaine.org.
2 IN PTR laptop.mondomaine.org.
3 IN PTR serveur.mondomaine.org.
4 IN PTR mondns.mondomaine.org.
Notez qu'il faut sauter une ligne à la fin de vos fichiers de zone, sans quoi vous risquez d'avoir un message d'erreur.
A partir de la, nous allons verifier si nos fichiers de configuration sont convenablement rédigés (un point virgule est vite oublié ;-). Pour cela, on dispose de deux commandes:
named-checkconf
Si la commande n'affiche rien, c'est que le fichier named.conf est valide. Ensuite, vérifions la syntaxe du fichier de zone :
named-checkzone mondomaine.org /var/cache/bind/mondomaine.org.zone
Si il n'y a pas de soucis, il y aura un OK nous le signalant. Faisons ensuite de même pour la zone reverse.
Une fois cela accomplie, il ne reste plus qu' à redemarrer bind et ensuite vous n'aurez plus qu'à profiter de votre DNS local.
/etc/init.d/bind9 restart
on peut également simplement recharger le tout (d'ou l'utilisté su serial) de cette facon:
sudo rndc reload
DNS en ligne
Il va falloir au préalable:
- s'acheter un nom de domaine. Vous avez le choix entre plusieurs fournisseurs pour ce service dont entre autres http://www.gandi.net/ (c'est ce fournisseur que j'ai choisi pour http://mpf.danslesbois.org)
- disposer d'une ip fixe (vive free)
La suite rapidement...
- Categories :
- howto
- OPENSOURCE
- LINUX
Suite DNS en ligne