Logo English Web Page
Accueil Association BSD Linux Dev Reseau Infologisme Mac OSX
tl tr
Sujet Domaine Date 02-02-2011
Titre BIND Système Nom Domaine - FreeBSD Section Dev Reseau
Article

BIND – Historique

La première mise en œuvre du système de noms de domaine s‘appelle JEEVES et qui a été écrite par Paul Mockapetris lui-même. BIND (Berkeley Internet Name Domain) est une version postérieure, écrite par Kevin Dunlap pour Unix BSD 4.3 de Berkeley. BIND est aujourd‘hui maintenu par l‘Internet Systems Consortium *.

BIND est l‘implémentation que nous allons détailler dans cet ouvrage et elle est de loin la mise en œuvre du DNS la plus répandue aujourd‘hui. Il a été porté sur la plupart des systèmes Unix et fait partie intégrante de la majorité des offres commerciales d‘Unix. BIND a même été porté sur les Systèmes d‘exploitation de la « Firme de Redmond ».

Bibliographie – Ouvrage de référencesOReilly-Bind9 – 5ème Édition en FrançaisCouvre la version Bind-9.3

* Pour plus d‘information sur l‘Internet Systems Consortium et ses travaux sur BIND, on peut consulter : www.isc.org.

BIND – Serveur DNS

Système de Nom de Domaine ou DNS, est un module fondamental d‘Internet pour la résolution de Nom de Domaine. C‘est la base de données globale, hiérarchique et distribuée de l‘information du Domain Name System qui a la responsabilité de traduire les Noms de domaine en adresses IP publique et vice versa, conduisant à la destination appropriée une multitude de services Internet.

Avant-propos

Installation du Système FreeBSD 7.4-RELEASE la version de Bind 9.4.4-ESV.4 est installé.
Installation du Système FreeBSD 8.2-RELEASE la version de Bind 9.6.3-EVS.3 est installé.


Remarque : Les deux versions de Bind acceptent des paramètres identiques.


Dans un premier temps, il est préférable d‘utiliser la version installée par le Système. Car le fichier named du dossier rc.d pour le fichier rc.conf est existant et cela permet de lancer Bind par la commande named_enable="YES" ce qui est très pratique.

Si pour FreeBSD 7.4-RELEASE on change la version de Bind avec par example la version de Bind96 il faut réécrire un script named96 pour dossier rc.d certes ce n‘est pas insurmontable, mais attention à la fiabilité.

Il est toujours possible de lancer manuellement Bind96 en changeant manuellement dans Webmin la Configuration du module et paramétrer la ligne suivante :

Chemin d‘accès complet à l‘exécutable named        /usr/local/sbin/named

Et ne plus lancer la version de Bind 9.4.4-ESV.4 par le fichier rc.conf.

Mais une remarque digne d‘intérêt, me force à penser d‘utiliser la version de Bind 9.4.x, c‘est quand même cette version de Bind qui est utilisée par Apple avec Mac OS X Leopard 10.5.8 et on est en droit de penser que ce n‘est pas le fait du hasard.

Remarque : Bind est toujours installé par défaut dans environnement chroot avec FreeBSD.

Prérequis

Version de logiciel et serveur requis :

Système d‘exploitation : FreeBSD 8.2-RELEASE
Serveur : Bind
Administration Serveur : Webmin


Composants ou Packages nécessaires
FreeBSD
bind96-9.6.3.ESV.3 The BIND DNS suite with updated DNSSEC and threads
Il est évident que nom-site.com représente par exemple : c-extra.com

Avoir la première interface réseau en 192.168.1.1 cela va sans dire.
Les paramètres TCP/IP à fournir à un système d‘exploitation réseau sont donc l‘adresse IP de la machine, son masque de sous-réseau, une ou plusieurs adresses DNS et l‘adresse de la passerelle par défaut.
Adressage manuel TCP/IP pour un Serveur de Nom de Domaine – DNS
Adresse IP 192.168.1.1
Sous Réseaux 255.255.255.0
Passerelle 192.168.1.254
DNS Primaire 192.168.1.1
DNS Secondaire 80.10.246.2
DNS Tertiaire 80.10.246.129
Remarque : Adresse IP des Serveurs DNS primaire et secondaire de Orange.fr – 80.10.246.2 – 80.10.246.129
Nom de machine ou hostname : production.nom-site.com
Exemple : production.c-extra.com

Nom de machine ou hostname : production.nom-site.com
Exemple : production.c-extra.com

Nom de Domaine : nom-site.com
Exemple : c-extra.com

Nom de Domaine : nom-site2.com
Exemple : c-expresso.fr

nom-site.com est le Nom de Domaine pour l‘exemple, remplacer nom-site.com par le domaine voulu qui sera le Nom de Domaine du Serveur. Il faut différencier le Nom de Domaine principal qui doit être le même que le hostname du Serveur matériel ou en traduit français littéralement par « Nom de hôte », mais on utilise plus l‘expression « Nom de machine ».

nom-site.fr, nom-site.net, nom-site2.com, nom-site2.fr, nom-site2.net dans cet exemple ne sont pas, le Nom de Domaine principal du Serveur physique de la machine ou est installer le Serveur de Nom de Domaine Bind.


Le fichier /etc/hosts


# Generated by Eric Douzet - Mon Jun 30 12:00:00 2008
#
# FreeBSD /etc/hosts
#
#
::1            production.nom-site.com localhost.nom-site.com localhost
127.0.0.1      production.nom-site.com localhost.nom-site.com localhost
#
192.168.1.1    nom-site.com www.nom-site.com ftp.nom-site.com mail.nom-site.com
192.168.1.1    nom-site.fr www.nom-site.fr ftp.nom-site.fr mail.nom-site.fr
192.168.1.1    nom-site.net www.nom-site.net ftp.nom-site.net mail.nom-site.net
#
192.168.1.1    nom-site2.com www.nom-site2.com ftp.nom-site2.com mail.nom-site2.com
192.168.1.1    nom-site2.fr www.nom-site2.fr ftp.nom-site2.fr mail.nom-site2.fr
192.168.1.1    nom-site2.net www.nom-site2.net ftp.nom-site2.net mail.nom-site2.net
#
#



Le fichier /etc/resolv.conf


nameserver 192.168.1.1
nameserver 80.10.246.2
nameserver 80.10.246.129
domain nom-site.com
Liste des Ports ouverts avec leurs protocoles pour servir Nom de Domaine et Site Web.
Serveur Port Protocole
Bind 53 TCP
Bind 53 UDP
Apache 80 TCP
Apache 443 TCP
Configurer le Firewall de FreeBSD IPFilter pour héberger un Site Web : FreeBSD - Configuration du Firewall IPFilter

BIND – Installation et mise en œuvre

Il faut paramétrer /var/named/etc/namedb/named.conf de Bind 9.6.3-ESV.3 de FreeBSD 8.2


Le fichier named.conf


// $ FreeBSD: /etc/namedb/named.conf 2008/06/16 12:00:00 Exp $
//

options {
        directory "/etc/namedb";
        pid-file "/var/run/named/pid";
        dump-file "/var/dump/named_dump.db";
        allow-query-cache { none; };
        allow-query { any; };
        recursion no;
        };


zone "." { type hint; file "named.root"; };



Avec Webmin cliquer sur l‘icône Serveurs puis Serveur de noms de domaines BIND puis cliquer sur l‘onglet Configuration du module et paramétrer la ligne suivante :

Full path to the rndc.conf file        /var/named/etc/namedb/rndc.conf

Démarrer avec l‘onglet Start Bind

On peut ensuite générer la clef RNDC avec l‘icône Setup RNDC.

Cela ajoutera ce type de syntaxe au fichier named.conf


key rndc-key {
        algorithm hmac-md5;
        secret "Ezz+EiLjQLP+SVwzPh3b+g==";
        };

controls {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; };
        };



Cliquer sur l‘onglet Apply Configuration


Créer une zone primaire

DNS – Zone primaire

Avec Webmin cliquer sur l‘icône Serveurs puis Serveur de noms de domaines BIND puis de la section Zone DNS existantes cliquer sur Créer une zone primaire.
Création d‘une zone primaire
 Options de la nouvelle zone primaire
Type de la zone Direct (noms -> adresses) Inverse (adresses -> noms)
Nom de domaine / Réseau
Fichier d‘enregistrements Automatique
Serveur primaire Ajouter un enregistrement NS pour le serveur primaire ?
Adresse électronique
Utiliser un modèle de zone ? Oui Non Adresse IP des enregistrements des modèles
Adresse inverse d‘enregistrement ? Oui Non
Temps de rafraîchissement Temps de retransfert
Temps d‘expiration Durée de vie par défaut
Cela ajoutera ce type de syntaxe au fichier named.conf


zone "localhost" {
        type master;
        file "/etc/namedb/localhost.hosts";
        };


Cliquer sur la zone Master localhost puis sur Adresse sous l‘icône du  A
Enregistrements Adresse
Ajouter l'enregistrement Adresse
Nom Durée de vie Par défaut
Adresse
Mettre à jour l'adresse inverse ? Oui Oui (et remplacer l'adresse existante) Non
Ce qui donne comme fichier /var/named/etc/namedb/localhost.hosts


$ttl 38400
localhost.       IN        SOA   localhost.nom-site.com.    root.localhost (
                           1234454420
                           10800
                           3600
                           604800
                           38400 )
localhost.                 IN    NS    localhost.nom-site.com.
localhost.                 IN    A     127.0.0.1



Maintenant créer la zone primaire du Domaine nom-site.com
Création d‘une zone primaire
 Options de la nouvelle zone primaire
Type de la zone Direct (noms -> adresses) Inverse (adresses -> noms)
Nom de domaine / Réseau
Fichier d‘enregistrements Automatique
Serveur primaire Ajouter un enregistrement NS pour le serveur primaire ?
Adresse électronique
Utiliser un modèle de zone ? Oui Non Adresse IP des enregistrements des modèles
Adresse inverse d‘enregistrement ? Oui Non
Temps de rafraîchissement Temps de retransfert
Temps d‘expiration Durée de vie par défaut
Cela ajoutera ce type de syntaxe au fichier named.conf


zone "nom-site.com" {
        type master;
        file "/etc/namedb/nom-site.com.hosts";
        };



Cliquer sur la zone Master nom-site.com puis sur Modifier le fichier d‘enregistrements comme ci-dessous.


Le fichier /var/named/etc/namedb/nom-site.com.hosts


$ttl 38400
nom-site.com.     IN       SOA   production.nom-site.com.    root.nom-site.com (
                           1234476834
                           10800
                           3600
                           604800
                           38400 )
@                          IN    NS    nom-site.com.
nom-site.com.              IN    A     192.168.1.1
www.nom-site.com.          IN    A     192.168.1.1
ftp.nom-site.com.          IN    A     192.168.1.1
mail.nom-site.com.         IN    A     192.168.1.1
production.nom-site.com.   IN    A     127.0.0.1



Remarque :

La syntaxe de la deuxième Zone DNS et les suivantes sont un peu différente. Cela me paraît normal puisque le premier Nom de Domaine est celui du Nom de Serveur.

Le moyen de vérifier si tout est Ok, se fait en arrêtant et en démarrant Bind par un autre poste avec Webmin et le Serveur à tester doit être en mode console, là apparaît vraiment les erreurs...

Pour une syntaxe correcte de configuration, le fichier de log /var/log/messages indique les informations suivantes :

Jan 20 16:00:00 production named[946]: starting BIND 9.6.3-ESV-P3 -t /var/named -u bind
Jan 20 16:00:00 production named[946]: command channel listening on 127.0.0.1#953
Jan 20 16:00:00 production named[946]: the working directory is not writable
Jan 20 16:00:00 production named[946]: running

DNS – Deuxième Zone et suivantes

Créer une nouvelle Zone master comme indiquer ci-dessus, cela ajoutera ce type de syntaxe au fichier named.conf


zone "nom-site.fr" {
        type master;
        file "/etc/namedb/nom-site.fr.hosts";
        };



Cliquer sur la zone Master nom-site.fr puis sur Modifier le fichier d‘enregistrements comme ci-dessous.


Le fichier /var/named/etc/namedb/nom-site.fr.hosts


$ttl 38400
nom-site.fr.      IN       SOA   production.nom-site.fr.    root.nom-site.fr (
                           1234454420
                           10800
                           3600
                           604800
                           38400 )
@                          IN    NS    production.nom-site.fr.
nom-site.fr.               IN    A     192.168.1.1
www.nom-site.fr.           IN    A     192.168.1.1
ftp.nom-site.fr.           IN    A     192.168.1.1
mail.nom-site.fr.          IN    A     192.168.1.1

DNS – Redirection

La redirection par exemple chez GANDI, cliquer sur le lien Nom de Domaine puis sur le lien Gérer les zones puis choisir l‘interface experte pour personnalisé un DNS.

Syntaxe :

@ 3600 IN A 000.000.000.000
ftp 3600 IN A 000.000.000.000
www 3600 IN A 000.000.000.000


Attention : Avec une adresse IP seule, le Serveur de mail ne fonctionnera pas.


Article connexe du sujet

BIND Système Nom Domaine - Arch Linux
BIND Système Nom Domaine - Mac OSX Leopard
Résolution DNS Fichier hosts et hostname - Servir avec Apache sur un Nom
FreeBSD - Installer et Configurer version 7.4-RELEASE
FreeBSD - Installer et Configurer version 8.2-RELEASE
Webmin - Administration Serveur & Système

Auteur
Eric Douzet
Début de page
bl br
C-extra.com v. 1.2.2 © 2000-2014, tous droits réservés  –  Mise à jour le 12 Avril 2014 Infologisme.com