Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

Préparation

Dans un premier temps, il faudra avoir une connexion à Internet et utiliser un "autre" serveur DNS.

Pour ceux qui aurait manqué des étapes voici les étapes à suivre:

Une fois ces étapes effectuées, entrons dans le vif du sujet !

Installation

Tout d'abord il faut installer les paquetages suivants:

# yum -y install bind bind-utils
  • bind → c'est le serveur DNS (Berkeley Internet Name Daemon)
  • bind-utils → des utilitaires pour s'assurer que le serveur est correctement configuré (nslookup, dig, ...)

Configuration du serveur

Point de départ

L'essentiel de la configuration se déroule dans le fichier /etc/named.conf Ci-dessous un exemple de fichier de base:

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; };
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

Déclarations

Les déclarations suivantes peuvent être utilisées:

  • acl → configure une liste de contrôle d'accès
  • any → correspond à toutes les adresses IP
  • localhost → correspond aux IP du système local
  • localnets → correspond aux adresses IP utilisées par le système aux travers d'interfaces
  • none → correspond à aucune adresse IP

Exemples

acl

La déclaration acl permet de rassembler plusieurs réseaux ensemble:

acl authorized {
   192.168.0.0/24;
   10.0.1.0/24;
   192.168.50.0/24;
};

acl unauthorized {
   192.168.60.0/24;
}

On pourra ensuite remplacer avantageusement la ligne suivante:

allow-query     { localhost; };

Par:

allow-query     { authorized; };

Cela sera plus propre de rassembler les déclarations en début de fichier et de ne plus avoir à parcourir l'intégralité du fichier pour apporter une modification !

none

On pourra remplacer la ligne suivante:

listen-on-v6 port 53 { ::1; };

Par:

listen-on-v6 port 53 { none; };

localnets

On pourra remplacer la ligne suivante:

listen-on port 53 { 127.0.0.1; };

Par:

listen-on port 53 { localnets; };

Démarrage

Au premier démarrage, le démon named génére les clés RNDC:

# service named start
Generating /etc/rndc.key:                                [  OK  ]
Démarrage de named :                                     [  OK  ]

Vérification de l'écoute

On peut utiliser la commande netstat pour s'assurer que named écoute sur les interfaces désirées

# netstat -aunp | grep named
udp        0      0 127.0.0.1:53                0.0.0.0:*                               10787/named
udp        0      0 ::1:53                      :::*                                    10787/named

Test de résolution

Utilisons nslookup pour s'assurer que notre serveur fonctionne en lui demandant l'adresse de google.fr

# nslookup google.fr 127.0.0.1
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   google.fr
Address: 173.194.41.23
Name:   google.fr
Address: 173.194.41.24
Name:   google.fr
Address: 173.194.41.31

Il ne nous reste plus qu'à déclarer une zone !

Fichier de zone