Accueil > Tutoriels > Installation d’un serveur DNS sous GNU/Linux

Installation d’un serveur DNS sous GNU/Linux

Un DNS (Domaine Name System) sert à faire la correspondance entre l’adresse IP et le nom de la machine, on parle de résolution de noms. L’installation d’un serveur DNS local vous permettra d’accélérer le chargement des pages ,votre serveur DNS va se charger de créer un cache local, la traduction des adresses IP en noms de domaine se fera ainsi plus rapidement.

Important :

Cet article n’est en aucun cas un tutoriel complet ! La configuration présentée se trouve être celle que j’utilise. La configuration complète d’un serveur DNS reste complexe.

Dans ce tutorial on va prendre un LAN composé de 4 machines : 1 serveur DNS et 3 PC clients , le serveur est sous Debian Lenny 5.0

  • Le serveur DNS : 192.168.100.1
  • Les machines : 192.168.100.2 (pc1), 192.168.100.3 (pc2) et 192.168.168.100.4 (pc3).

Installation :

Tout d’abord il faut installer le paquet Bind :

  • sudo apt-get install bind9

La configuration de Bind se fait dans le fichier /etc/bind/named.conf. Dans ce fichier on définît deux zones : une qui nous permettra d’obtenir une adresse IP à partir d’un nom de domaine et vice versa.

  • La zone avec le nom de domaine :

zone « localnet.lan » {
type master;
file « /etc/bind/db.localnet.lan »;
};

  • La zone inversée :

zone « 100.168.192.in-addr.arpa » {
type master;
file « /etc/bind/db.192.168.100″;
};

Attention, Les points virgules sont importants !

Comme indiqué précédemment dans nos zones, on va créer les 2 fichiers : /etc/bind/db.localnet.lan et /etc/bind/db.192.168.100, vous pouvez bien sur les adapter selon votre adressage IP et nom de domaine pour cela il faut modifier localnet et le 100.168.192 lors de la création des zones.

  • Les fichiers zones :

Editez le fichier /ec/bind/db.localnet.lan :

$TTL    604800
@ IN         SOA       server.localnet.lan.      root.localnet.lan.  (
2009032001      #Serial  -> N° de série constitué d’un numéro d’ordre xx ici 01 suivi de la date en cours inversée
604800                #Refresh
86400                   #Retry -> le temps de rafraichissement
2419200              #Expire
604800 )             #Minimum -> Durée de vie minimum du cache


@ IN        NS           server.localnet.lan.

#Les lignes suivantes définissent la table entre les noms de domaine et les adresses IP :

server         A        192.168.100.1
pc1              A        192.168.100.2
pc2              A        192.168.100.3
pc3              A        192.168.100.4

On édite ensuite le fichier /etc/bind/db.192.168.100 :

$TTL    604800
@       IN      SOA    server.localnet.lan.     root.localnet.lan.  (
2009032001
604800
86400
2419200
604800 )

NS      server.localnet.lan.

1               PTR         server.localnet.lan.
2               PTR         pc1.localnet.lan.
3               PTR         pc2.localnet.lan.
4               PTR         pc3.localnet.lan.

Remarque : Le point à la fin de localnet.lan. n’est pas une erreur, si vous l’oubliez BIND rajoutera le nom de la zone ( server.localnet.lan sera alors server.localnet.lan.localnet.lan qui ne correspond plus à notre domaine).

On édite le fichier /etc/bind/named.conf.options on décommente les lignes suivantes et on ajoute les serveurs DNS de son FAI, ici j’ai mis les serveurs d’OpenDNS.

forwarders {
208.67.222.222;
208.67.220.220;
};

On redémarre le démon BIND :

  • /etc/init.d/bind9 restart

N’oubliez pas de changer la configuration de vos machines pour choisir le serveur DNS local. Pour vérifier son bon fonctionnement à partir d’une machine du réseau local, tapez :

nslookup
> server 127.0.0.1

Vous aurez une réponse comme telle qui correspond au bon fonctionnement de votre serveur DNS :

Default server: 192.168.100.1
Address: 192.168.100.1#53

Si vous obtenez un message comme ceci :

Can’t find server name for address 127.0.0.1 : Server failed
Default servers are note available

C’est que votre fichier de configuration /etc/resolv.conf présent sur vos machines clientes et le serveur DNS n’est pas correctement configuré. Ce fichier sert à définir la liste des DNS à utiliser pour la résolution de noms pour votre machine.

Ce fichier doit contenir :

search localnet.lan
nameserver 192.168.100.1

C’est le 1er tutorial que je poste j’espère que j’ai été clair, n’hésitez pas à m’écrire des commentaires en cas de problème :)

Categories: Tutoriels Tags: , , ,
  1. 22/03/2009 à 12:41 | #1

    Hmm … interréssant , je bookmarke. Merci :)

  2. 23/03/2009 à 09:10 | #2

    @Tuxargon : You’re welcome ;)

  3. Momo
    21/05/2009 à 08:51 | #3

    Vraiment pas mal !!!
    je bookmark aussi
    Merci :)

  4. weblinux
    25/05/2009 à 23:21 | #4

    Bonjour,

    Pour la sécurité je préféré Tinydns un module du soft djbdns

    Je l’ai installé en mode resolver et en mode cache

    weblinux

  5. ynipost
    04/06/2009 à 13:16 | #5

    facile et limpide vraimt top tn taf…j’expose dessus vendredi ca m fera un bon tp

  6. 04/06/2009 à 14:00 | #6

    Bonne chance pour ton TP alors :)

  7. narjiss
    16/02/2010 à 17:17 | #7

    MERCI B1 pour

  8. narjiss
    16/02/2010 à 17:58 | #8

    tu peux fair le meme tp avec fedora 8 ?

  1. Pas encore de trackbacks