[SERVICE] Serveur DNS sous Linux

A quoi ça sert?

Un serveur DNS, Domain Name Server, permet d’accéder à Internet très facilement. En effet, il est plus simple de retenir une simple adresse (au hasard, www.google.fr) que son adresse IP (173.194.40.143 ; 173.194.40.151 ; 173.194.40.152 ; 173.194.40.159 soit 4 adresses IP juste pour www.google.fr !!).

Nous allons voir ici comment installer son propre serveur DNS.Prérequis

On suppose que la machine est correctement configurée pour accéder à Internet et possède une adresse IP fixe.

Installation comme serveur DNS Principal

Attribuez un nom à la machine. Pour ce faire, modifiez le fichier /etc/hostname avec le nom complet du serveur (exemple : srv-dns.exemple.org). Exécutez la commande /etc/init.d/hostname.sh start pour lancer le service hostname.

Vérifiez que le fichier /etc/host.conf est de la forme suivante :

order hosts, bindmulti on

Modifiez ensuite le fichier /etc/hosts afin de préciser le serveur DNS à utiliser pour la machine.

domain exemple.orgsearch exemple.org
nameserver 127.0.0.1nameserver 8.8.8.8

Pour les sections domain et search, précisez votre nom de domaine. Pour la section nameserver, précisez l’adresse IP de votre serveur DNS. Le temps de l’installation, laissez 8.8.8.8 afin d’avoir un accès à Internet.

Redémarrez la couche réseau avec la commande service networking restart.

Ensuite, installez le serveur DNS avec apt-get install bind9.

Voilà, votre serveur DNS est installé, mais pas correctement configuré.

Mise en place de la zone de recherche directe

Une zone de recherche directe met en relation le nom de la machine et son adresse IP (contrairement à la zone de recherche indirecte où c’est l’adresse IP qui est mise en relation avec le nom de la machine).

Se placer dans le dossier /etc/bind , et copier le fichier db.local en db.exemple.org avec la commande  cp db.local db.exemple.org. Modifier ce fichier comme suit :

;; BIND data file for eth0 interface ;$TTL   604800

@        IN        SOA    srv-dns.exemple.org. root.exemple.org. (

                                   2                      ; Serial

                                   604800            ; Refresh

                                   86400              ; Retry

                                   2419200          ; Expire

                                   6048000 )       ; Negative Cache TTL

;

@        IN        NS       srv-dns.exemple.org.

Srv-dns           IN        A         ip_machine

Mise en place de la zone de recherche indirecte

Se placer dans le dossier /etc/bind , et copier le fichier db.127 en db.exemple.org.inv avec la commande  cp db.127 db.exemple.org.inv . Modifier ce fichier comme suit :

;; BIND reverse data file for eth0 interface ;$TTL   604800

@        IN        SOA    srv-dns.exemple.org. root.exemple.org. (

                                   2                      ; Serial

                                   604800            ; Refresh

                                   86400              ; Retry

                                   2419200          ; Expire

                                   6048000 )       ; Negative Cache TTL

;

@        IN        NS       srv-dns

Ip_machine     IN        PTR    srv-dns.exemple.org

Déclaration des fichiers

Modifier le fichier named.conf.local

zone « exemple.org » {            type master ;            file « /etc/bind/db.exemple.org » ;            forwarders {} ;

} ;

zone « xxx.xxx.xxx.in-addr » {

            type master ;

            file « /etc/bind/db.exemple.org.inv » ;

            forwarders { } ;

} ;

Enfin, modifier le fichier named.conf.options et repérer la ligne :

// forwarders {//          xxx.xxx.xxx.xxx ;// } ;

Décommenter les lignes et remplacer le xxx.xxx.xxx.xxx par une adresse IP de DNS (par exemple 8.8.8.8 pour le DNS géré par Google ou 213.186.33.99 pour celui géré par OVH).

Terminer par un service bind9 restart.

Vérifier vos fichiers de configuration à l’aide de la commandes named-checkconf -z .

Pour vérifier le bon fonctionnement de votre serveur, donnez à un poste client l’adresse IP de votre serveur dans sa configuration DNS et ouvrez une invite de commande (Démarrer –> cmd sous Windows 7) et tapez nslookup srv-dns.exemple.org. Si vous obtenez l’adresse IP du serveur, tout fonctionne.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.