• Aucun résultat trouvé

Serveur DNS. Installation et configuration du service DNS Bind9 en ligne de commande. BIND9 sous Debian. Debian 9 - DNS bind9. Ribeiro Romain BTS SIO1

N/A
N/A
Protected

Academic year: 2022

Partager "Serveur DNS. Installation et configuration du service DNS Bind9 en ligne de commande. BIND9 sous Debian. Debian 9 - DNS bind9. Ribeiro Romain BTS SIO1"

Copied!
11
0
0

Texte intégral

(1)

Serveur DNS  

BIND9 sous Debian

 

version : 1.0.1 Le 30/03/2018

Éditeur : Ribeiro Romain version de Debian : 9.4 version de bind : bind9

 

Installation et configuration du service DNS 

​ Bind9 en ligne de commande   

(2)

SOMMAIRE

1. Mise à jour des outils debian 3

2. Téléchargement de bind9 3

3. Changement du nom du serveur DNS 3

4. Le fichier /etc/hosts 4

5. Le fichier /etc/host.conf 4

6. Le fichier /etc/resolv.conf 5

8. Le fichier de zone inverse 7

9. Le fichier /etc/bind/named.conf 8

10. Le fichier /etc/bind/named.conf.options 9

12. Vérifier le fonctionnement du serveur DNS 11

13. Indiquer notre serveur comme serveur DNS préféré à un poste 11

(3)

1. Mise à jour des outils debian 

Premièrement, on met à jour les outils debian avec deux  commandes :  

root@debianDNS-DHCP:~# apt-get update root@debianDNS-DHCP:~# apt-get upgrade   

2. Téléchargement de bind9 

Pour installer bind9, il faut avoir internet et un miroir de spécifié dans   

Debian lors de l’installation, on télécharge comme ceci :   root@debianDNS-DHCP:~# apt-get install bind9   

On entre “o” pour continuer le téléchargement. 

Souhaitez-vous continuer ? (O/n) o 

3. Changement du nom du serveur DNS 

Afin de changer le nom du serveur, on accède au fichier hostname avec  nano​. Dans ce fichier, une seule ligne est écrite, il s’agit du nom du  serveur. On va changer ce nom en remplaçant par dns.rarr.fr.   

root@debianDNS-DHCP:~# nano /etc/hostname   

 

Pour que le changement prenne effet, on reboot le serveur :   root@debianDNS-DHCP:~# reboot now 

 

Et on obtient donc ce résultat :    

Debian GNU/Linux 9 dns.rarr.fr tty1 dns login: root

Password:

Last login : Sun Mar 18 14:36:58 CET 2018 on tty1 Linux dns.rarr.fr 4.9.0-6-amd64 #1 SMP Debian 4.9

   

(4)

4. Le fichier /etc/hosts 

On va modifier le fichier hosts, qui contient la correspondance adresse  IP nom d’hôte. 

root@debianDNS-DHCP:~# nano /etc/hosts 

On remarque l’ancien nom d’hôte, qu’on modifie avec le nouveau. 

127.0.0.1 localhost 127.0.0.1 debianDNS-DHCP

# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback

ff02::1 ip6-allnodes ff02::2 ip6-allrouters

127.0.0.1 localhost 127.0.0.1 dns.rarr.fr

# The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback

ff02::1 ip6-allnodes ff02::2 ip6-allrouters

5. Le fichier /etc/host.conf 

On va donc agir sur host.conf, afin de spécifier l’ordre de recherche de  nom du serveur : ​root@dns:~# nano /etc/host.conf 

 

Il faut rajouter l’entrée ​order hosts, bind​ puis ​multi on​,  ce qui donne :  order hosts, bind 

  multi on    

On peut ensuite sauvegarder les modifications (CTRL +X, O, ENTRÉE)   

   

(5)

6. Le fichier /etc/resolv.conf 

On modifie le fichier resolv.conf afin d’indiquer au serveur quel DNS il  utilisera pour la résolution de nom, on veut que ce soit le DNS qu’on  configure, et pas un autre, alors on y entre ​127.0.0.1​ , l’adresse de  boucle locale. 

root@dns:~# nano /etc/resolv.conf   

 

Il ne faut pas oublier d’y spécifier le domaine créé, ici ​rarr.fr​.

On ne laisse qu’une ligne dans nameserver, qui sera donc 127.0.0.1. 

domain rarr.fr search home rarr.fr nameserver 127.0.0.1  7. Le fichier de zone directe 

Le fichier de zone directe va servir à identifier les noms en adresses IP  par exemple ​DiiSteR-PC.rarr.fr ​ ​se traduirait en ​192.168.1.26   

Pour faciliter la tâche, on copie le fichier de zone directe exemple,  /etc/bind/db.local ​et on le copie sous le nom que l’on souhaite, il  faudra impérativement le retenir, il sera utile plus tard. Ici, le fichier  s'appellera ​db.rarr.fr​.  

root@dns:~# cp /etc/bind/db.local /etc/bind/db.rarr.fr root@dns:~# nano /etc/bind/db.rarr.fr 

 

On accède à ce fichier, et on peut commencer à modifier. 

Le fichier se présente sous cette forme, premièrement pour gagner en  clarté on supprime les trois premières lignes. ensuite, on va modifier la  ligne ​@ IN SOA localhost. root.localhost. (  

;

; BIND data file for local loopback interface

;

$TTL 604800

@ IN SOA localhost. root.localhost. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2491200 ; Expire

604800 ) ; Negative Cache TTL

 

;

@ IN NS localhost.

@ IN A 127.0.0.1

@ IN AAAA ::1 

(6)

On obtient donc un fichier comme ceci, avec quelques entrées  indiquées.  

 

; BIND data file for local loopback interface

; 

$TTL 604800

@ IN SOA dns.rarr.fr.​ ​root.rarr.fr. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2491200 ; Expire

604800 ) ; Negative Cache TTL

;

@ IN NS dns.rarr.fr.

dns IN A 127.0.0.1

DiiSteR-PC IN A 192.168.1.26

DSR IN CNAME DiiSteR-PC

  Légende :  

- ​ ​

La zone orange​ correspond au nom du serveur, ainsi que son domaine. le  serveur s’appelle dns, son domaine est ​rarr.fr.​ (ne surtout pas oublier le “​.​” à la  fin). 

- ​ ​

La zone verte​ correspond au compte administrateur dans le domaine créé,  de base le compte est root alors on écrit root.rarr.fr. 

- ​ ​

La zone rouge​ correspond au NS, Name-Server, le serveur dans son  domaine va s'appeler dns.rarr.fr, lors d’un ping, il faudra donc écrire  ping dns.rarr.fr.​. 

- ​ ​

La zone bleue​ correspond au CNAME, le surnom.  

Pour surnommer un poste, il faut d’abord l’avoir inclus dans une entrée        A (Alias), on peut remarquer qu’au dessus de cette entrée       ​CNAME se    situe une entrée       A ​pour le poste      ​DiiSteR-PC qui a pour adresse IP        192.168.1.26, alors pour créer un CNAME, on entre premièrement le        surnom que l’on souhaite, et ensuite le nom entré dans l’Alias (A)        précédent, ce qui donne : 

DiiSteR-PC IN A 192.168.1.26

DSR IN CNAME DiiSteR-PC

Ne pas oublier d’inclure une entrée A pour le serveur lui-même, comme  précédemment (​dns IN A 127.0.0.1​). 

(7)

8. Le fichier de zone inverse 

Le fichier de zone inverse, va lui servir à identifier une adresse IP en nom, par exemple dans le cas de DiiSteR-PC, si l’on envoie une requête inverse nslookup : nslookup 192.168.1.26, le serveur retournera ​DiiSteR-PC.rarr.fr.

Comme pour le fichier de zone directe, le fichier de zone inverse peut être copié avec un fichier exemple.

root@dns:~# cp /etc/bind/db.127 /etc/bind/db.inv.rarr.fr root@dns:~# nano /etc/bind/db.inv.rarr.fr

 

Comme pour le fichier de zone directe, on va supprimer les 3 premières  lignes, et modifier la ligne @ IN SOA et @ IN NS, avec les mêmes 

attributs que pour la zone directe.  

 

; BIND data file for local loopback interface

; 

$TTL 604800

@ IN SOA dns.rarr.fr.​ ​root.rarr.fr. (

2 ; Serial

604800 ; Refresh

86400 ; Retry

2491200 ; Expire

604800 ) ; Negative Cache TTL

   

Cette fois-ci, les entrées sont différentes, mis à part le ​NS​. 

Il s’agit des entrées ​PTR​, on remarque que l’adresse IP indiquée à  gauche du PTR n’est pas “complète”, elle car il ne faut indiquer que la  partie hôte de l’adresse IP, pour un masque /24, on aura 26. Pour un  masque /8, on aura ​1.0.0​. 

   

@ IN NS dns.rarr.fr.

1.0.0 IN PTR dns.rarr.fr.

26. IN PTR DiiSteR-PC.rarr.fr 

         

   

(8)

9. Le fichier /etc/bind/named.conf 

Ce fichier va nous servir à indiquer au service DNS, quels sont les  fichiers de zone à charger.​Ici, les fichiers s’appellent ​db.rarr.fr​ et  db.inv.rarr.fr​.  

root@dns:~# nano /etc/bind/named.conf   

Logiquement, on va donc indiquer deux zones, la directe et l’inverse,  comme ceci :  

include “/etc/bind/named.conf.options”;

include “/etc/bind/named.conf.local”;

include “/etc/bind/named.conf.default-zones”;

zone rarr.fr” {

type master ;

file “/etc/bind/db.rarr.fr” ; }

;

zone “58.16.172.in-addr.arpa” { type master ;

file “/etc/bind/db.inv.rarr.fr” ; }

;    

la ligne ​type master ;​ indique que le serveur est maître de cette zone,  si l’on configurait un serveur esclave (secondaire), on indiquerait   type slave​.  

   

Remarque :​ la zone ​inverse​, n’est pas appelée de la même manière que  la zone ​directe​, il faut y entrer la partie réseau de l’adresse IP du poste  (ici 172.16.58) et ce à l’envers ce qui nous donne​ ​58.16.172​, il faut  également y inclure “​.in-addr.arpa​” ce qui nous donne : 

 

58.16.172.in-addr.arpa   

   

(9)

10. Le fichier /etc/bind/named.conf.options 

Le fichier    ​named.conf.options va servir à indiquer un forwarder        (redirecteur), un forwarder est un serveur DNS distant, qui contient une base        importante d’entrées dans ses fichiers de zone, il va servir à éviter à notre        serveur DNS d’avoir à effectuer de très grandes requêtes pour trouver un nom        de domaine sur internet par exemple, pour trouver       ​www.google.com​, notre    serveur ne connaît pas son adresse, alors il sera obligé de demander au        forwarder pour gagner du temps, ou de perdre du temps en interrogeant le        serveur racine     ​. puis le domaine     ​.com. puis le domaine       ​google.com. pour enfin      accéder à l’hôte ​www.google.com​.​

Pour ce faire, rien de plus simple :  

root@dns:~# nano /etc/bind/named.conf.options

On retire les     ​//  comme ci-dessous, et on y entre l’adresse IP d’un        serveur 

DNS référencé, tel que celui de Google ​8.8.8.8​; il existe bien d’autres  serveurs DNS comme celui des FAI par exemple. 

options {

directory “/var/cache/bind”;

// If there is a firewall between you and nameservers you // want to talk to, you may need to fix the firewall to // allow multiple ports to talk. See

// http://www.kb.cert.org/vuls/id/800113

// If your ISP provided one or more IP addresses for // stable nameservers, you probably wa nt to use them as // forwards. Uncomment the following block, and insert // the addresses replacing the all-0’s placeholder.

forwarders {

8.8.8.8;

};

Une fois toutes ces étapes effectuées, on enregistre tout et on redémarre  le service DNS bind9 avec la commande suivante :  

root@dns:~# /etc/init.d/bind9 restart   

Si le service a bien été redémarré, on obtient la ligne suivante :  [ ok ] Restarting bind9 (via systemctl): bind9.service.

 

(10)

 

11. Attribuer une adresse IP fixe au serveur 

Afin de pouvoir l’utiliser, le serveur DNS doit impérativement avoir une  adresse IP fixe​, alors on va modifier le fichier /etc/network/interfaces  Comme ci-dessous, il faudra remplacer la ligne ​iface eth0 inet dhcp  par ​iface eth0 inet static, ​notons que sous ubuntu 16.04, l’interface  s’appelle ​enp0s3​ et non ​eth0​ ou ​ens32​ sur Debian 9.3. 

 

On entre donc l’adresse voulue au serveur, le masque et la passerelle :  

auto eth0

iface eth0 inet static address 192.168.1.253 netmask 255.255.255.0 gateway 192.0.2.254  

Une fois cette modification faite, on redémarre le serveur avec la  commande ​reboot​.   

(11)

12. Vérifier le fonctionnement du serveur DNS 

Pour vérifier le fonctionnement du serveur, on procède par étapes:  

 

1. nslookup un poste avec le nom indiqué dans la zone directe :   nslookup DiiSteR-PC.rarr.fr​​ par exemple. si le résultat renvoie  l’adresse IP de notre serveur DNS ainsi que l’adresse IP de ​DiiSteR-PC​,  cela signifie que le fichier de zone est correctement configuré, ainsi que  le fichier ​resolv.conf​. 

 

2. Ping un poste via son CNAME : 

ping DSR.rarr.fr​​Si l’on obtient une réponse positive, alors l’entrée  CNAME est correctement écrite. 

 

3. Ping un serveur web distant : 

On ping par exemple ​www.google.com​, si l’on reçoit une réponse, alors  le serveur DNS fonctionne totalement au niveau de la recherche directe. 

 

4. Effectuer une recherche inverse 

On va par exemple utiliser nslookup sur le poste ​DiiSteR-PC​, car il a été  entré dans notre fichier de zone inverse.  

nslookup 192.168.1.26​ Si l’on récupère le nom du poste, tout est bon. 

 

13. Indiquer notre serveur comme serveur DNS préféré à un poste 

Pour ce faire, c’est très simple, on accède au centre réseau et partage du  poste en question, puis au paramètre Ethernet au wifi de la carte active,  aux propriétés IPv4, et on modifie la ligne suivante :  

 

L’adresse IP correspond au serveur DNS que l’on a créé. 

   

Références

Documents relatifs

routing information, whenever such an organization changes to a new service provider, the organization’s addresses will have to change.. Occasionally, service providers

Les serveurs racine connaissent au moins les serveurs de noms pouvant résoudre le premier niveau (.com, .edu, .ma, etc.).. Si les serveurs racine sont inoperationnels plus

- Publier votre clé publique sur un serveur de clés pour la mettre à disposition des autres : Clic droit -> Envoyer les clefs publiques vers un serveur de clefs. - Augmenter

Quel est le fichier de configuration à éditer pour que le service DNS installé ait autorité sur la zone zone(i).lan-213.stri.. Établir la correspondance entre l'organisation

Dans l'exemple donné ci-dessus, les opérations de transfert sont interdites au niveau global et les requêtes récursives pour des enregistrements sur lesquels le serveur n'a pas

) Les machines sont reliées entre elles dans un même domaine logiquement et non par adressage. Exemple : 10 machines d’un même domaine appartiennent à 10 réseaux différents

All other file paths (working dir, logfile, roothints, and key files) can be specified in several ways: as an absolute path relative to the new root, as a relative path to the

Normalement, si vous avez fait l'installation avec apt, un script de démarrage aura été placé dans /etc/init.d et vous pourrez facilement relancer tinydns comme d'habitude sous