Par JC Pollman jpollman@bigfoot.com
et
Bill Mote bill.mote@bigfoot.com
Avertissement : Cet article fournit des renseignements glanés à la faveur de la lecture de livres, de HOWTOs, de pages de man, de forums de discussion Usenet et d'un nombre d'heures incalculable passées à frapper au clavier. Il n'est pas censé être l'étude définitive sur la question, mais plutôt, un marchepied permettant à l'utilisateur novice de gagner ses galons d'initié. Tous les exemples sont tirés directement de nos réseaux domestiques, par conséquent, nous savons qu'ils fonctionnent.
Comment utiliser ce guide :
[Entrée]
indiquent un appui
sur une touche du clavier ou un bouton de la souris [Mouse1]
. {votre nom ici}
indiquent
des données auxquelles on doit/devra en substituer de "vraies".
Pré-requis : Ce guide suppose que vous avez installé
bind v8.2
, que vous avez choisi un nom de domaine légal, et que
vous avez recours à la translation d'adresses (IP Masquerade) pour
"cacher" votre machine de l'Internet. Si vous utilisez bind v4.x
,
effectuez une mise à jour (il y a quelques problèmes de sécurité avec les
4.x) ou ne tenez pas compte de cet article, car cela ne fonctionnera pas.
NB : la plupart des distributions incluent trois paquetages de bind -
le seul à éviter est la version "caching-only".
Qu'est-ce que le DNS ?
DNS signifie : système de nom de domaine (Domain Name System), ce qui n'est en fait qu'un
protocole. Bind
, le programme que vous utiliserez (Berkeley
Internet Name Domain) est une implémentation de DNS, à la fois serveur et
client. DNS transforme les noms alphanumériques, ceux dont se servent les
humains, en adresses IP, utilisables par les machines, et vice versa.
Autrement dit, il traduit www.netscape.com en 207.200.75.200.
Pourquoi avoir son propre serveur DNS ?
Vous pouvez survivre sans, en utilisant celui de votre FAI (Fournisseur d'Accès à Internet). Avoir le vôtre vous permettra d'accélérer la résolution de noms, de réduire le temps d'administration nécessaire lors de l'ajout d'une nouvelle machine dans votre réseau, d'y optimiser le fonctionnement de sendmail, et cela vous occupera bien pour le week-end.
Qui fournit votre DNS actuellement ?
Il y a de grandes chances pour que cela soit votre FAI. Suivez cet exemple qui confirmera nos suppositions et vous donnera les bases pour tester la configuration de votre DNS après l'installation. Connectez-vous à votre FAI, puis depuis une fenêtre de terminal, tapez ce qui suit :
nslookup[Entrée] Default Server: {le nom du DNS de votre FAI apparaîtra ici} Address: {l'adresse IP du serveur de DNS de votre FAI}A présent, tapez ceci pour que DNS fonctionne :
www.tux.org Non-authoritative answer: Name: gwyn.tux.org Address: 207.96.122.8 Aliases: www.tux.org exit [Entrée]
Note importante sur la translation d'adresses - Il est absolument INUTILE de chercher à monter son propre DNS à moins d'avoir configuré la translation (ou de disposer de véritables adresses IP et d'un nom de réseau officiellement enregistré) ! Autrement, vous allez perturber le système et probablement recevoir des courriers électroniques virulents des possesseurs des vraies adresses IP. La translation vous permet d'utiliser quelqu'adresse IP et nom de votre choix pour votre réseau privé, puis de masquer les requêtes depuis ce réseau à travers votre connexion à l'Internet, en utilisant l'adresse IP valide de cette dernière.
Installation du DNS : Il faut que vous installiez le
programme bind
pour que le DNS fonctionne. Chez moi, le nom de
domaine est kulai.org. Comme j'utilise la translation d'adresses,
kulai.org n'est répertorié nulle part, et je ne l'ai pas enregistré
chez qui que ce soit. Quand vous le choisissez, assurez-vous
qu'il n'est pas déjà pris ou vous risquez de vous retrouver dans un beau
sac de noeuds. Servez-vous de la commande whois
pour savoir si
votre nom de domaine a déjà été légalement enregistré. Par exemple,
lorsque vous êtes connecté au net :
whois kulai.org [Enter]vous renvoit pas mal de choses se terminant par :
No match for "KULAI.ORG".
[NdR: la meilleure solution est encore de choisir un nom de domaine ne se
terminant pas comme un vrai, comme mondomaine.chezmoi
ou
kulai.abc
]
Pour la suite de cet article, j'utiliserai mes machines, qui sont :
master.kulai.org | 192.168.124.10 | linux tout seul, le serveur
jc.kulai.org | 192.168.124.1 | linux et win98
fserver.kulai.org | 192.168.124.11 | freebsd tout seul
phillip.kulai.org | 192.168.124.20 | win98 tout seul
Configuration de votre DNS : Vous avez cinq fichiers de texte à créer avec votre éditeur préféré. Vous pouvez copier et coller les exemples fournis - assurez-vous simplement de remplacer les noms et les adresses IP par les vôtres ! Ces fichiers sont très spécifiques quant à leur syntaxe - faites très attention en les saisissant ou en les modifiant !
/var/named/db.kulai.org (où kulai.org est mon domaine)
/var/named/db.124.168.192 (où mon réseau est 192.168.124.0)
ATTENTION : Lors de la configuration de votre DNS, ne relancez jamais votre serveur sans avoir renommé le fichier /etc/resolv.conf. Une fois la séquence de démarrage terminée, redonnez-lui son nom initial. Un mauvais rétro DNS peut empêcher le micro de démarrer et nécessiter des disquettes de boot et rescue. Pour vous éviter tout problème : renommez.
Vérifiez aussi votre fichier /etc/nsswitch.cnf
. La ligne
"hosts
" devrait indiquer "hosts: files dns
".
Grâce à quoi, le système résoudra les noms d'hôtes en regardant dans
/etc/hosts
avant de se référer à un DNS éventuellement déficient.
Si vous disposez du NIS (Network Information System), la ligne peut être
"hosts: files nis dns
".
C'est parti : Créez les fichiers précédents puis éditez
votre /etc/resolv.conf
pour qu'il n'indique que votre serveur de
noms :
search kulai.org nameserver 192.168.124.10Note :
/etc/resolv.conf
est obligatoire pour
bind 8.*
puis tapez :
tail -f /var/log/messages[Entrée]de façon à pouvoir prendre connaissance de tout message d'erreur au démarrage de
named
.
Ouvrez une autre fenêtre ou console et tapez :
/usr/sbin/ndc start[Entrée]ou pour les utilisateurs de Red Hat :
/etc/rc.d/init.d/named start[Entrée]
Votre fichier /var/log/messages devrait comporter un certain nombre
d'entrées concernant named
et finissant par :
Jul 10 15:54:26 master named: named startup succeeded Jul 10 15:54:26 master named[3523]: Ready to answer queries.
Pour tester votre DNS, connectez-vous à l'Internet et refaites ce qui est décrit dans la section Qui fournit votre DNS actuellement ?. Le nom du serveur que vous devriez récupérer devrait être celui du vôtre. Saisissez le nom d'un endroit que vous visitez souvent et voyez si vous en obtenez l'adresse IP.
Si cela ne marche pas :
named
tourne :
ps ax|grep named [Entrée]
ping 192.168.124.10 [Entrée]
puis ping master.kulai.org
[Entrée]
Si tout se passe bien, faites pointer les autres machines de votre réseau vers votre nouveau serveur de noms.
Dernières réflexions : Nous vous avons donné une recette de base pour mettre en place un serveur de noms simple. Le succès engendrant en général un surcroît d'intérêt, voici quelques endoits où vous pourrez en apprendre un peu plus :
DNS - ZDNet Webopedia Definition and Links
Troubeshooters.com: DNS -- qui inclut également des indications
pour ceux qui utilisent une ancienne version de bind
.
Faites tourner votre DNS car nous aurons l'occasion de l'utiliser dans les mois à venir. Le mois prochain, nous nous attaquerons au courrier dans un réseau domestique.
Copyright © 1999, JC Pollman and Bill Mote. Publié dans le n°44 de la Linux Gazette, Août 1999
Traduction Française de Joël Sagnes.