Introduction

L'objectif de ce billet est de mettre en place rapidement et simplement un serveur DNS, via le produit BIND, pour la zone formation.maison et les IP type 192.168.56.0/24.

Le DNS est un service critique devant être sécurisée, ce qui n'est pas le but ici. Il s'agit juste de mettre en place rapidement une configuration.

La mise en place s'est faite sur une VM VirtualBox avec 10Go de disque et 512Mo de RAM.

La distribution Linux utilisée est RedHat/CentOS version 5. Dans un premier temps procéder à installation basique de la distribution -> Meta-Package @core

Tâches de post-installation

Désactiver tous les services afin de ne démarrer que ceux utiles.

for i in $(chkconfig --list | cut -f1);do chkconfig --del $i;done
chkconfig network on
chkconfig sshd on
chkconfig syslog on

Paramétrage de YUM

Les packages seront chargés depuis le DVD d'installation. Mise en place d'un dépôt local et montage du DVD.

mkdir /redhat
mount /dev/cdrom /redhat

Suppression des dépôts existants

rm -f /etc/yum.repos.d/*

Configuration dépôt local, édition du fichier /etc/yum.repos.d/dvd.repo

[DVD]
name=DVD
baseurl=file:///redhat/Server
enabled=1
gpgcheck=1
gpgkey=file:///redhat/RPM-GPG-KEY-redhat-release

Installation des packages utiles

yum -y install vim-enhanced bind bind-utils

Configuration de BIND

Une fois le package installé, procéder à la configuration de BIND, édition du fichier /etc/named.conf

options {
    directory "/var/named";
};

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

zone "formation.maison" IN {
    type master;
    file "data/formation.maison.zone";
};

zone "56.168.192.in-addr.arpa" {
    type master;
    file "data/192.168.56.zone";
};

Configuration de la zone racine, fichier /var/named/data/named.ca

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33

La commande suivante permet de charger ce fichier depuis l'Internet

cd /var/named/data
wget ftp://ftp.internic.net/domain/named.root -O named.ca

Configuration de la zone formation.maison, édition du fichier /var/named/data/formation.maison.zone

$ttl 38400
@  IN  SOA  dns01.formation.maison. root.formation.maison. (
                    2014081201 ; # Numéro de série
                    10800 ;      # Rafraichir toutes les 3 heures
                    3600 ;       # Retenter au bout d'une heure si échec
                    604800 ;     # Expire au bout d'une semaine
                    86400 ) ;    # TTL minimum 3 jours.

@  IN  NS  dns01.formation.maison.

dns01       IN  A  192.168.56.10
passerelle  IN  A  192.168.56.254

ora01       IN  A  192.168.56.11
ora02       IN  A  192.168.56.12
ora03       IN  A  192.168.56.13

Configuration de la zone 192.168.56, édition du fichier /var/named/data/192.168.56.zone

$ttl 38400
@  IN  SOA  dns01.formation.maison. root.formation.maison. (
                    2014081201 ; # Numéro de série
                    10800 ;      # Rafraichir toutes les 3 heures
                    3600 ;       # Retenter au bout d'une heure si échec
                    604800 ;     # Expire au bout d'une semaine
                    86400 ) ;    # TTL minimum 3 jours.

@  IN  NS  dns01.formation.maison.

10  IN PTR dns01.formation.maison.
254 IN PTR passerelle.formation.maison.
11  IN PTR ora01.formation.maison.
12  IN PTR ora02.formation.maison.
13  IN PTR ora03.formation.maison.

Démarrer BIND et activer son démarrage au boot

service named start
chkconfig named on

Tester la configuration de BIND

Les commandes suivantes permettent de valider le bon fonctionnement du DNS.

  • named-checkconf : tester la configuration générale de BIND
  • named-checkzone : tester la configuration des fichiers de zones.

Test du fichier de configuration

named-checkconf /etc/named.conf

Si rien n'est retourné, c'est que tout est OK.

Test des fichiers de zones.

named-checkzone formation.maison /var/named/data/formation.maison.zone
named-checkzone 56.168.192.in-addr.arpa /var/named/data/192.168.56.zone

Ces deux commandes doivent retourner le numéro de série de la zone et "OK"

Vérification de la résolution correcte via nslookup. Ajouter dans le fichier /etc/resolv.conf les lignes suivantes :

search formation.maison
nameserver 192.168.56.10

Utilisation de nslookup

[root@dns01 ~]# nslookup ora01

Server:		192.168.56.10
Address:	192.168.56.10#53

Name:	ora01.formation.maison
Address: 192.168.56.11

[root@dns01 ~]# nslookup 192.168.56.11
Server:		192.168.56.10
Address:	192.168.56.10#53

11.56.168.192.in-addr.arpa	name = ora01.formation.maison.

Conclusion

Cette installation est très simplifiée volontairement, je l'utilise à des fins de formation ou lorsqu'un DNS dans un réseau virtuel est utile. La machine n'a pas besoin d'une grande puissance ( Disque de 10Go, RAM de 512Mo ).