# Installation d'un serveur DNS (bind9)

### INTRODUCTION : 

Dans le cadre du projet GSB, nous devons procéder à l'installation d'un serveur DNS. Je vais donc, grâce à ce tutoriel, vous apprendre à installer un serveur DNS.

####  

### Définition :

DNS : Le Domain Name System, généralement abrégé DNS, qu'on peut traduire en « système de noms de domaine », est le service informatique distribué utilisé pour traduire les noms de domaine Internet en adresse IP ou autres enregistrements.

### Installation :

Premièrement, nous avons besoin de mettre à jour notre machine :

```
apt-get update
apt-get upgrade
```

En suite, nous installons le packet bind9

```
apt-get install bind9
```

Nous allons également installer un éditeur de texte :

```
apt-get install nano
```

##### Named.conf : Fichier de configuration

A titre informatif, nous allons voir le fichier de configuration principal, aucune modification n'est nécessaire.

```
nano /etc/bind/named.conf
```

[![/etc/bind/named.conf](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600120257121.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600120257121.png)

##### Named.conf.options : Options générales du serveur

Dans ce fichier de configuration, nous autorisons à quiconque de nous faire des requêtes. Cependant, si nous voulons autoriser que des adresses IP spécifiques, nous pouvons remplacer "any" par : {127.0.0.1; 192.168.0.1;};.

```
nano /etc/bind/named.conf.options
```

[![image-1600120453909.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600120453909.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600120453909.png)

##### Named.conf.local : Nos zones DNS personnelles. 

Dans ce fichier de configuration, nous déclarons les deux zones nous servant à faire fonctionner le serveur DNS.

```
nano /etc/bind/named.conf.local
```

```
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "pod4.sio.lan"
{  type master;
   file "/etc/bind/db.pod4.sio.lan";
};

zone "0.168.192.in-addr.arpa"
{   type master;
    file "/etc/bind/db.192.168.0";
};

```

##### Named.conf.default-zones : Nos zones DNS par défaut.

A titre informatif, nous allons voir le fichier des zones DNS par défaut, aucune modification n'est nécessaire.

```
nano /etc/bind/named.conf.default-zones
```

[![image-1600121821525.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600121821525.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600121821525.png)

##### root.hints : Les 18 serveurs DNS principaux (Mondiaux).

Ce fichier regroupe les adresses des 18 serveurs DNS principaux permettant de propager aux autres serveurs DNS les nouveaux nom de domaines crées.

```
nano /usr/share/dns/root.hints
```

[![image-1600122340432.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600122340432.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600122340432.png)

##### db.pod4.sio.lan : Configuration de la zone directe.

Ce fichier de configuration regroupe tous les enregistrements DNS de notre zone DNS pod4. (Fichier à créer)

```
nano /etc/bind/db.pod4
```

```
$TTL	600
pod4.sio.lan.	IN	SOA	ns1.pod4.sio.lan. nehemiebarkia.gmail.com (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			 600 )	; Negative Cache TTL
;
pod4.sio.lan.	IN	NS	ns1.pod4.sio.lan.
pod4.sio.lan.	IN	NS	ns2.pod4.sio.lan.
ns1 IN	A	192.168.0.1
ns2	IN	A	192.168.0.2
www	IN	A	192.168.0.3
mail	IN	A	162.168.0.10
poste1	IN	A	192.168.0.20

```

##### db.192.168.0 : Configuration de la zone inversée.

Ce fichier de configuration regroupe tous les enregistrements DNS inversés de notre zone DNS pod4. (Fichier à créer)

```
nano /etc/bind/db.192.168.0
```

[![image-1600122890920.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600122890920.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600122890920.png)

##### Test du bon fonctionnement de la configuration de notre serveur DNS.

<p class="callout info">Vous devez exécuter les commandes ci-dessous dans le répertoire /etc/bind</p>

Dans l’exécution de la commande "named-checkconf", si aucun retour n'est affiché, alors cela signifie qu'il n'y a pas d'erreur dans la configuration de votre serveur DNS.

```
named-checkconf
named-checkzone pod4.sio.lan db.pod4.sio.lan
named-checkzone 0.168.192.in-addr.arpa db.192.168.0
```

[![image-1600123026179.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600123026179.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600123026179.png)

Enfin, nous allons changer les droits du fichier /etc/bind.

```
chmod 777 /etc/bind
```

### Commandes :

Pour démarrer, redémarrer et éteindre le serveur, veuillez employer les commandes ci-dessous :

```
/etc/init.d/bind9 start
/etc/init.d/bind9 stop
/etc/init.d/bind9 restart 
```

### Test du serveur :

Pour réaliser un test je vais employer une machine virtuelle munie de Windows. Dans ses paramètres réseaux, je vais indiquer l'adresse IP de mon serveur DNS.

[![image-1600125813422.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600125813422.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600125813422.png)

Il nous suffis maintenant tout simplement de pinger des noms de domaines de pod4.

[![image-1600126205581.png](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/scaled-1680-/image-1600126205581.png)](https://docs.nehemiebarkia.fr/uploads/images/gallery/2020-09/image-1600126205581.png)

<p class="callout info">Bien que les ping ne répondent pas, on peut conclure que les requêtes DNS fonctionnent bel et bien.</p>

### Fichiers du serveur :

[https://files.nehemiebarkia.fr/SISR3-services-utilisateurs/DNS/installation-de-bind9/TP-DNS-BIND9-16-09.zip](https://files.nehemiebarkia.fr/SISR3-services-utilisateurs/DNS/installation-de-bind9/TP-DNS-BIND9-16-09.zip)