Page suivante Page précédente Table des matières

6. Un DNS pour la maison

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 :

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 !

/etc/named.conf

/var/named/db.cache

/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)

/var/named/db.127.0.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.10
Note : /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 :

  1. Vérifiez que named tourne : ps ax|grep named [Entrée]
  2. Faites un ping sur le serveur depuis une autre machine, à la fois par l'adresse IP et par le nom : ping 192.168.124.10 [Entrée] puis ping master.kulai.org [Entrée]
  3. Lancez un telnet sur le serveur. Un long délai pour établir la connexion indiquera un problème.

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 :

The DNS HOWTO

DNS and Bind by O'Reilly

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.


Page suivante Page précédente Table des matières