Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

Installer et configurer un serveur DNS sur Linux

Par Marvin POLOMACK Publié le 31/10/2016 à 13:36:03 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

Introduction

Le DNS (Domain Name Service) est un service Internet qui trace les adresses IP en fonction du FQDN (Fully Qualified Domain Names) et vice versa.

BIND signifie Berkley Internet Naming Daemon.

BIND est le programme le plus communément utilisé pour faire la maintenance d’un serveur DNS sous Linux.

Dans cet article, nous verrons comment installer et configurer un serveur DNS.

Informations réseau

Nous allons mettre en place un serveur local DNS pour le réseau montré sur le schéma ci-dessous.

Nous utiliserons le domaine « supinfo.net » comme exemple pour cette installation DNS. « mail », « web », « ns » sont les hôtes qui sont sur le domaine.

Il est possible de configurer un simple système pour agir en tant que serveur DNS cache, Primaire/Master (Le serveur Primaire/Master est le serveur principale qui fonctionne tout le temps) et Secondaire/Slave (Le serveur Secondaire/Slave est un serveur qui peut être utiliser pour déléguer des tâches du serveur principale ou encore prendre le relais si le principale meurt). Nous configurons ce serveur DNS en tant que Master ainsi qu’en tant que serveur DNS cache.

Nous installerons les serveurs DNS sur l’adresse « 10.42.0.83 ».

Installation de Bind

Installez le package bind9 en utilisant le package approprié pour votre distribution Linux.

Sur Debian/Ubuntu utilisez la commande suivante :

$ sudo apt-get install bind9

Sur Red Hat/cent OS/Fedora utilisez la commande suivante :

# yum install bind9

Toutes les configurations DNS sont stockées sous le répertoire /etc/bind. La configuration primaire est /etc/bind/named.conf, laquelle inclura les autres fichiers nécessaires. Le fichier nommé /etc/bind/db.root décrit les serveurs DNS racines du monde.

Configurer le serveur DNS cache

Le travail d’un serveur DNS de cache et d’envoyer des requêtes aux autres serveurs DNS et de garder en cache les réponses. Ainsi la prochaine fois que la requête sera faite, la réponse sera récupérée directement depuis le cache. Ce cache est d’ailleurs, mise à jour de façon régulière.

Notez que même s’il est possible de configurer Bind pour qu’il soit un serveur primaire ainsi qu’un serveur cache, il n’est pas conseillé pour des raisons de sécurité, de le faire. Avoir un serveur cache séparer est préférable.

Tout ce que nous avons à faire pour configurer un serveur DNS cache est d’ajouter le serveur DNS de votre FAI (fournisseur d’accès Internet) ou n’importe quel OpenDNS server au fichier /etc/bind/named.conf.options. Par exemple, nous allons utiliser les serveurs DNS publiques de Google, 8.8.8.8 et 8.8.4.4.

Décommentez et modifié les lignes suivantes dans le fichier /etc/bind/named.conf.options.

forwarders {
   8.8.8.8;
   8.8.4.4;
};

Après le changement dans le fichier, redémarrez le serveur DNS.

$ sudo service bind9 restart

Tester le serveur DNS cache

Vous pouvez utiliser la commande dig pour tester les services DNS :

$ dig ubuntu.com 


;; Query time: 1323 msec

Maintenant lorsque vous effectuez une seconde fois la commande dig, il devrait y avoir une amélioration au niveau du temps de la requête. Comme vous le voyez en dessous la seconde fois le temps n’est que de 3 ms car l’information a été récupérée directement depuis le serveur cache DNS.

$ dig ubuntu.com 


;; Query time: 3 msec

Configurer le serveur DNS Primaire/Master

Maintenant, nous allons configurer bind9 comme le Master pour le domaine « supinfo.net ».

Comme première étape dans la configuration de notre serveur DNS, nous devons Forward et Reverse la résolution de bind9.

Pour ajouter la resolution Forward et Reverse vers bind9, modifiez /etc/bind9/named.conf.local.

zone "supinfo.net" { 
    type master; 
    file "/etc/bind/db.supinfo.net"; 
}; 
zone "0.42.10.in-addr.arpa" { 
    type master; 
    notify no; 
    file "/etc/bind/db.10"; 
};

Maintenant le fichier /etc/bind/db.supinfo.net va avoir les détails pour résoudre (la résolution de nom est le fait de trouver le nom de l'hôte grâce à son adresse IP et vice-versa) le nom de l’hôte à son adresse IP pour ce domaine/zone, et le fichier /etc/bind/db.10 va avoir les détails pour résoudre l’adresse IP au nom d’hôte.

Mise en place de la Forward resolution pour le serveur DNS Primaire/Master

Maintenant nous allons ajouter les détails qui sont nécessaires pour la forward resolution dans le fichier /etc/bind/db.supinfo.net.

Premièrement, copiez /etc/bind/db.local dans /etc/bind/db.supinfo.net :

$ sudo cp /etc/bind/db.local /etc/bind/db.supinfo.net

Ensuite, modifiez le fichier /etc/bind/db.supinfo.net et remplacez ce qui suit.

1. Dans les lignes qui comportent SOA : localhost. - C’est le FQDN du serveur en charge de ce domaine. Nous avons installé bind9 sur l’adresse 10.42.0.83, pour laquelle le nom d’hôte est « ns ». Remplacez donc « localhost. » par « ns.supinfo.net. ». Vérifiez bien que cela termine par un point.

2. Dans les lignes qui comportent SOA : root.localhost. - C’est l’adresse e-mail de la personne qui est responsable de ce serveur. Utilisez un point au lieu d’un arobase. On remplace donc par lak.localhost.

3. Dans les lignes qui comportent NS : localhost. - Cela définit le serveur DNS du domaine. Nous devons changer ceci vers le FQDN du serveur DNS. Changez donc pour « ns.supinfo.net. ». Oubliez pas le « . » À la fin.

Ensuite définissez-le record A et record MX pour le domaine. Le record A est celui qui associe le nom d’hôte à l’adresse IP, et le record MX indiquera le serveur mail à utiliser pour ce domaine.

Une fois que les changements sont faits, le fichier /etc/bind/db.supinfo.net ressemblera à sa :

$TTL 604800 
@ IN SOA ns.supinfo.net. lak.localhost. ( 
     1024 ; Serial 
     604800 ; Refresh 
     86400 ; Retry 
     2419200 ; Expire 
     604800 ) ; Negative Cache TTL 
; 
@ IN NS ns.supinfo.net. 
supinfo.net. IN MX 10 mail.supinfo.net. 
ns IN A 10.42.0.83 
web IN A 10.42.0.80 
mail IN A 10.42.0.70 

Mise en place de la Reverse resolution pour le serveur DNS Primaire/Master

Nous allons ajouter les détails nécessaires pour la Reverse Resolution dans le fichier /etc/bind/db.10. Copiez le fichier /etc/bind/db.127 dans /etc/bind/db.10.

$ sudo cp /etc/bind/db.127 /etc/bind/db.10

Ensuite, modifiez le fichier /etc/bind/db.10, échangez les mêmes options que dans le fichier /etc/bind/db.supinfo.net.

$TTL 604800 
@ IN SOA ns.supinfo.net. root.localhost. ( 
     20 ; Serial 
     604800 ; Refresh 
     86400 ; Retry 
     2419200 ; Expire 
     604800 ) ; Negative Cache TTL 
; 
@ IN NS ns.

Ensuite, pour chaque record A dans le fichier /etc/bind/db.supinfo.net, ajoutez un record PTR.

$TTL 604800 
@ IN SOA ns.supinfo.net. root.supinfo.net. ( 
     20 ; Serial  
     604800 ; Refresh 
     86400 ; Retry 
     2419200 ; Expire 
     604800 ) ; Negative Cache TTL 
; 
@ IN NS ns. 
83 IN PTR ns.supinfo.net. 
70 IN PTR mail.supinfo.net. 
80 IN PTR web.supinfo.net.

Enfin, redémarrez le service bind9 :

$ sudo service bind9 restart

Conclusion

Maintenant que nous avons configuré le serveur DNS pour notre domaine. Nous allons tester notre serveur DNS en faisant un ping vers mail.supinfo.net depuis web.supinfo.net.

Si le ping s’effectue avec succès, alors le serveur DNS est bien configuré.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels